[英].htaccess mod_rewrite trailing slash
我的mod_rewrite模塊在這里遇到問題。 如果我執行/ toronto /,它將相應地指引我,但是,如果我執行/ toronto時不帶斜杠,它將返回404。我需要/ toronto和/ toronto /都從/ city_name文件夾中讀取。 如何避免出現斜線,這是我的代碼:
RewriteBase上的RewriteEngine / city_name
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ /city_name/index.php?page=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /([^\./]+)\.php$
RewriteCond %{DOCUMENT_ROOT}/city_name/%1.php -f
RewriteRule ^(.*)/([^\./]+)\.php$ /city_name/$2.php?page=$1 [L,QSA]
RewriteRule (.*)/$ /city_name/index.php?page=$1 [L,QSA]
該規則明確表示URI必須以斜杠結尾,因此'toronto'不匹配任何規則。 要使斜杠為可選,請使用?。 操作員:
RewriteRule (.*)/?$ /city_name/index.php?page=$1 [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.