RewriteRule没有正确重定向

时间:2013-03-28 05:43:21

标签: php redirect

我正在使用此格式重定向我的网站网址。 我在重定向方面遇到了问题。

案例1:

RewriteEngine on

RewriteRule ^([a-zA-z0-9_-]*)$  user/profile.php?id=$1 [L,NC]
RewriteRule ^([a-zA-z0-9_-]*)/([a-zA-z0-9_-]*)$  user/profile.php?id=$1&page=$2 [L,NC]

访问个人资料页面时代码正常,实际网址为(user / profile.php)

http://thisismysite.com/1234567

但是我无法访问主索引,它仍然重定向到(user / profile.php)

http://thisismysite.com

案例2:

RewriteEngine on

RewriteRule ^([a-zA-z0-9_-]*)$/  user/profile.php?id=$1 [L,NC]
RewriteRule ^([a-zA-z0-9_-]*)/([a-zA-z0-9_-]*)$  user/profile.php?id=$1&page=$2 [L,NC]

在这种情况下,我可以访问主索引和配置文件,但我需要在末尾添加'/'

http://thisismysite.com/1234567/

但我不希望反斜杠出现在最后?

我该怎么办? 感谢

2 个答案:

答案 0 :(得分:2)

对于案例1,将*替换为+,以便您的规则如下所示:

RewriteRule ^([a-zA-z0-9_-]+)$ user/profile.php?id=$1 [L,NC]

这应该注意能够看到索引,但是当你有个人资料网址时仍然会重定向到用户个人资料。

答案 1 :(得分:0)

最后添加/

RewriteRule ^([a-zA-z0-9_-]*)/$  user/profile.php?id=$1 [L,NC]