【问题标题】:htaccess - Remove trailing forward slash except forhtaccess - 删除尾部正斜杠,除了
【发布时间】:2011-08-22 09:28:50
【问题描述】:

我在 htaccess 中有以下内容来删除尾部斜杠:

#RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC]
#RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

这很好用,但我现在需要为该规则添加一个例外。 我有一个需要斜杠的文件夹(我们称之为“myfolder”)。是否可以修改上述条件以允许这样做?

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    当然,像这样,例如:

    RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC]
    RewriteCond %{REQUEST_URI} !^/myfolder/$
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
    

    这将排除http://example.com/myfolder/ 被重定向到http://example.com/myfolder。如果myfolder 位于子文件夹中,则需要相应地更改重写条件下的路径。


    如果您想排除myfolder,无论它位于何处(例如/myfolder//something/myfolder//something/interesting/myfolder/),然后相应地更改重写条件:

    RewriteCond %{HTTP_HOST} !^\.example\.com$ [NC]
    RewriteCond %{REQUEST_URI} !/myfolder/$
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
    

    【讨论】:

    • 再次感谢 LazyOne :)
    猜你喜欢
    • 2015-01-15
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多