【问题标题】:How can I remove multiple forward slashes from a URL using Apache Rewrite Rules?如何使用 Apache 重写规则从 URL 中删除多个正斜杠?
【发布时间】:2014-01-17 21:21:46
【问题描述】:

例如,我想改变

http://www.foo.com/bar//baz 

http://www.foo.com/bar/baz

【问题讨论】:

    标签: apache url mod-rewrite


    【解决方案1】:

    Apache 将多个斜杠视为单个斜杠。

    您可以使用 .htaccess 中的 mod_rewrite 将双斜杠 URL 301 重定向到正确的 URL:

    RewriteCond %{REQUEST_URI} ^(.*)//+(.*)$

    RewriteRule / http://www.example.com/%1/%2 [R=301,L]

    或使用重定向匹配:

    RedirectMatch 301 ^(.*)//+(.*)$ http://www.example.com/$1/$2

    这些 sn-ps 中的任何一个都会用一个斜杠替换两个或多个连续的斜杠。

    【讨论】:

      【解决方案2】:
      RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
      RewriteRule . %1/%2 [R=301,L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 2015-03-19
        • 2014-08-14
        • 2020-09-08
        相关资源
        最近更新 更多