Apache 如何通过重写引擎从URL中删除尾随斜杠?
在我的网站的根目录中,我有一个Apache 如何通过重写引擎从URL中删除尾随斜杠?,apache,mod-rewrite,redirect,url-rewriting,Apache,Mod Rewrite,Redirect,Url Rewriting,在我的网站的根目录中,我有一个.htaccess文件,其中包含以下内容: RewriteEngine On RewriteRule ^blogs$ ./blogs.php 因此,当访问者请求URLmysite.com/blogs时,会处理并返回PHP页面mysite.com/blogs.PHP 这种行为很有效。我想用这个额外的行为来增强它:如果访问者请求URLmysite.com/blogs/(注意后面的斜杠),我希望他被重定向到URLmysite.com/blogs。(我认为
.htaccess
文件,其中包含以下内容:
RewriteEngine On
RewriteRule ^blogs$ ./blogs.php
因此,当访问者请求URLmysite.com/blogs
时,会处理并返回PHP页面mysite.com/blogs.PHP
这种行为很有效。我想用这个额外的行为来增强它:如果访问者请求URLmysite.com/blogs/
(注意后面的斜杠),我希望他被重定向到URLmysite.com/blogs
。(我认为重定向是必要的,因为我不想在访问者浏览器的地址栏中出现尾随斜杠)。然后,我上面提到的重写将启动,并处理blogs.php
我试过:
RewriteEngine On
RewriteRule ^blogs/$ ./blogs [R=301]
RewriteRule ^blogs$ ./blogs.php
但这会导致URL变为http://mysite.loc/E:/Projects/mysite/blogs
甚至不重定向。(我正在本地主机上测试。E:/Projects/mysite
是根。)
我该怎么做呢?我已经弄明白了
:-)
问题是前导点。我已经移除了它,现在它可以工作了
RewriteRule ^blogs/$ /blogs [R=301]
RewriteRule ^blogs$ ./blogs.php