当我向地址添加一个尾部斜杠时,htaccess rewrite会添加“index.php”

时间:2012-02-24 10:44:02

标签: .htaccess mod-rewrite

我的htaccess重写了以下规则:

RewriteRule ^([a-zA-Z0-9\-]*)/([0-9]*)/([a-zA-Z0-9\-_]*)$ /content.php?a=$1&b=$2&c=$3
RewriteRule ^([a-zA-Z0-9\-]*)/([0-9]*)$ /content.php?a=$1&b=$2
RewriteRule ^([a-zA-Z0-9\-]*)$ /index.php?a=$1

当我去“mydomain.com/nameofpage”

时效果非常好

但是当我添加一个尾部斜杠“mydomain.com/nameofpage/”时,浏览器会将“index.php”添加到最后,404就是我。

思想?

谢谢!

修改。 想出来

看起来我在前两次重写中使用了*是胜过我的最终规则......长话短说,这里是正常工作的代码(在三个地方更改为+):

RewriteRule ^([a-zA-Z0-9\-]*)/([0-9]+)/([a-zA-Z0-9\-_]+)$ /content.php?a=$1&b=$2&c=$3 
RewriteRule ^([a-zA-Z0-9\-]*)/([0-9]+)$ /content.php?a=$1&b=$2
RewriteRule ^([a-zA-Z0-9\-]*)$ /index.php?a=$1

1 个答案:

答案 0 :(得分:0)

想出来 - 看起来我在前两次重写中使用*是胜过我的最终规则......长话短说,这里是正常工作的代码(在三个地方改为*):

RewriteRule ^([a-zA-Z0-9\-]*)/([0-9]+)/([a-zA-Z0-9\-_]+)$ /content.php?a=$1&b=$2&c=$3 RewriteRule ^([a-zA-Z0-9\-]*)/([0-9]+)$ /content.php?a=$1&b=$2 RewriteRule ^([a-zA-Z0-9\-]*)$ /index.php?a=$1