.htaccess使用和不使用尾部斜杠

时间:2012-10-17 22:18:44

标签: .htaccess

使用.htaccess,我怎样才能让我的网站能够做到这一点。这就是我已经拥有的。

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)/(.*)$ sites/index.php?url=$1&page=$2

由此,我能够浏览到: http://domain.com/sites/example/ 这完全没问题。 我想要做的是浏览 http://domain.com/sites/example 没有尾部斜杠,但它总是在找不到页面时返回错误。

到目前为止,谷歌的所有结果都让我失望。

谢谢。

2 个答案:

答案 0 :(得分:0)

是的,谷歌的信息海洋有时可能是一个障碍: RewriteRule ^(。*)/(。*)/?$ sites / index.php?url = $ 1& page = $ 2

注意/?在$之前的重写中,抱歉我已经向后看了你的问题......

编辑回答: RewriteRule ^(。*)/?(。*)$ sites / index.php?url = $ 1& page = $ 2

不同的位置?可能有帮助,否则第一个(。*)的贪婪匹配可能会结束到最后并尝试将所有内容推到$ 1,因为你最好打开apache重写日志并查看它,如果可以的话。

答案 1 :(得分:0)

尝试将正则表达式更改为:

RewriteRule ^([^/]+)/(.*?)/?$ sites/index.php?url=$1&page=$2

第一个(.*)是贪婪的,会吞噬一切。