【问题标题】:Removing trailing slash from one specific directory从一个特定目录中删除尾部斜杠
【发布时间】:2020-05-26 13:51:11
【问题描述】:

我正在尝试从一个特定 (/blog) 目录中的所有 url 中删除尾部斜杠。

例如:

http://www.example.com/blog/cowboy/ 应该是 301 到 http://www.example.com/blog/cowboy http://www.example.com/tips/cowboy/ 应该保持不变,而不是 301ed

我目前使用以下 RewriteRule

RewriteRule ^blog/?$ index.php?m=pages&p=group&id=blogs_page [L]
RewriteRule ^blog/([0-9]+)/?$ index.php?m=pages&p=group&id=blogs_page&page=$1 [L]
RewriteRule ^blog/([0-9A-Za-z_\-]+)/?$ index.php?m=pages&p=$1 [L]

可以修改此 reweriterule 以删除尾部斜杠吗?

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    您可以在现有规则之前拥有301 规则:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(blog/.+)/$ /$1 [L,NE,R=301]
    
    RewriteRule ^blog/?$ index.php?m=pages&p=group&id=blogs_page [L,QSA,NC]
    
    RewriteRule ^blog/(\d+)/?$ index.php?m=pages&p=group&id=blogs_page&page=$1 [L,QSA,NC]
    
    RewriteRule ^blog/([\w-]+)/?$ index.php?m=pages&p=$1 [L,QSA,NC]
    

    【讨论】:

      猜你喜欢
      • 2019-05-07
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多