簡體   English   中英

htaccess mod_rewrite-將所有URL重新路由到除/ admin外的所有索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM