如何通过重写引擎从URL中删除尾部斜杠?

时间:2012-10-23 12:48:05

标签: apache mod-rewrite redirect url-rewriting

在我的网站的根目录中,我有一个.htaccess文件,其中包含以下内容:

RewriteEngine On        
RewriteRule ^blogs$ ./blogs.php

因此,当访问者请求URL mysite.com/blogs时,将处理并返回PHP页面mysite.com/blogs.php

此行为正常。我想通过以下附加行为来增强它:如果访问者请求URL mysite.com/blogs/(注意尾随斜杠),我希望他被重定向到URL mysite.com/blogs。 (我相信重定向是必要的,因为我不希望尾随斜杠出现在访问者浏览器的地址栏中)。然后,我上面提到的重写将启动,blogs.php将被处理。

我试过了:

RewriteEngine On 
RewriteRule ^blogs/$ ./blogs [R=301]
RewriteRule ^blogs$ ./blogs.php

但这导致网址更改为http://mysite.loc/E:/Projects/mysite/blogs,甚至没有重定向。 (我正在测试本地主机。E:/Projects/mysite是根。)

我如何使这项工作?

1 个答案:

答案 0 :(得分:0)

我已经弄明白了:-)

问题是领先的点。我已将其删除,现在可以正常使用。

RewriteRule ^blogs/$ /blogs [R=301]
RewriteRule ^blogs$ ./blogs.php