【问题标题】:How to remove a trailing slash from the URL via the rewrite engine?如何通过重写引擎从 URL 中删除尾部斜杠?
【发布时间】:2012-10-13 09:40:58
【问题描述】:

在我网站的根目录中,我有一个.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

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

我该如何进行这项工作?

【问题讨论】:

    标签: apache mod-rewrite redirect url-rewriting


    【解决方案1】:

    我已经弄明白了:-)

    问题是前导点。我已经删除了它,现在它可以工作了。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多