[英]htaccess mod_rewrite - reroute all urls to index except /admin
我正在htaccess文件中設置一小組重寫規則,我希望每個URL都轉到index.php文件,但/ admin除外,我想將其重定向到admin.php。 不幸的是,對mod_rewrite或regexp不太熟悉。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin$ admin.php [L]
RewriteRule . /index.php [L]
</IfModule>
這給了我一個內部服務器錯誤(不是說500)。 刪除或取消注釋管理員重寫即可使其正常工作。
需要將條件應用於index.php重寫規則,否則將導致重定向循環。 RewriteCond
僅適用於緊隨其后的RewriteRule
因此將所有內容路由到索引的規則沒有條件。 嘗試只是重新排列行:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^admin$ admin.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.