mod_rewrite和斜杠问题

时间:2011-04-20 09:05:12

标签: apache mod-rewrite

如何像这样重定向网址

http://example/foo/bar/

http://example/foo/bar

http://example/foo/bar.php

这是我的重写规则

RewriteRule ^(.*)$ $1.php

它与http://example/foo/bar一起使用但如果url以斜杠结尾则错误上升(内部服务器错误) 该怎么做才能使两种网址类型正常工作?

2 个答案:

答案 0 :(得分:1)

这是因为/在小组中匹配。*,所以你拨打http://example/foo/bar/.php

要使两个作品都使用:

RewriteCond %{REQUEST_URI} !\.php
RewriteRule ^(.*)/?$ $1.php

编辑:当我们首先询问文件时忘记了

答案 1 :(得分:0)

好吧,如果这真的是你想要做的,那么:

RewriteRule  ^(.*)/?$  $1.php

我没有对此进行测试,但我认为它有效。