【问题标题】:Mod rewrite. Without endslash redirect to endslash模组重写。没有结束斜线重定向到结束斜线
【发布时间】:2013-02-20 14:29:30
【问题描述】:

出于某些 seo 原因,我需要重定向所有链接,例如

http://site.com/some/categoryhttp://site.com/some/category/

所以我用这个解决了这个问题

RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

但是这条规则也可以捕获类似的链接

http://site.com/some/category/some.file 并将其重定向到http://site.com/some/category/some.file/

我尝试过类似的方法

RewriteCond %{REQUEST_URI} ^([^\.]*)!/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

但它不起作用

【问题讨论】:

    标签: apache mod-rewrite seo


    【解决方案1】:

    您可以添加另一个重写条件

    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteCond %{REQUEST_URI} !\.
    RewriteRule ^(.*[^/])$ $1/ [L,R=301]
    

    或者你可以改变你的最后一条规则

    RewriteRule ^([^\.]*[^/\.])$ $1/ [L,R=301]
    

    【讨论】:

      【解决方案2】:

      怎么样

      RewriteRule (.*/[^\.]*)$ $1/ [L,R=301]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多