2012-02-24 37 views
4

我有我的htaccess重写以下规则:htaccess的重写补充“的index.php”当我添加一个尾部斜杠地址

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 
+0

只需在'$' – scibuff 2012-02-24 10:52:03

+0

之前加'/?'就行了t说,没有变化 – PotatoFro 2012-02-24 11:00:50

+0

**弄明白了**,但我没有足够的声誉发布我自己的答案......这里是: 想通了......看起来像我使用的*前两个重写是我的最终规则...长话短说,这里是代码工作正常(在三个地方更改*到+): '重写规则^([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' – PotatoFro 2012-02-24 11:08:32

回答

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