2012-08-25 192 views
0

我在这里遇到了我的mod_rewrite模块问题。如果我/多伦多/它会指示我相应的,但是,如果我/多伦多没有后面的斜线它回来了一个404。我需要/多伦多和/多伦多/都从/ city_name文件夹读取。我怎样才能避免最后的斜线,这里是我的代码:.htaccess mod_rewrite尾部斜杠

RewriteEngine叙述在 RewriteBase/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] 

回答

1
RewriteRule (.*)/$ /city_name/index.php?page=$1 [L,QSA] 

这条规则明确地说,URI有一个结束斜线,所以'多伦多'不符合规则。要使斜线可选,请使用?运营商:

RewriteRule (.*)/?$ /city_name/index.php?page=$1 [L,QSA]