【问题标题】:Remove trailing slash using .htaccess for a particular page使用 .htaccess 删除特定页面的尾部斜杠
【发布时间】:2018-05-23 11:04:53
【问题描述】:

我已经修改了我的 .htaccess 文件以在所有页面上强制使用尾部斜杠,但我想知道如何删除特定 url 页面中的尾部斜杠?需要帮忙。例如:

abc.com/test 成功重定向到 abc.com/test/

但我想删除网站特定网址中的强制斜杠,

abc.com/demo/ 应该重定向到 abc.com/demo

这是我到目前为止所做的:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/demo/
RewriteRule ^(.*)([^/])$        /$1$2/ [L,R=301]

更新: 要删除多个 url 的尾部斜杠,代码是什么,例如 abc.com/demo2/abc.com/demo3/abc.com/demo4/ 等。有什么建议吗?

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    试试:

     RewriteEngine on
    
     RewriteCond %{REQUEST_URI} ^/demo/ [NC]
     RewriteRule ^demo/$ /demo [L,R]
     RewriteCond %{REQUEST_URI} !^/demo [NC]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]
    

    【讨论】:

    • 抱歉,您的代码不起作用,它也弄乱了我的尾部斜杠代码,没有尾部斜杠 url,也没有从演示中删除尾部斜杠
    • @indy 这会从 /demo/ 中删除一个 traling 并将 traling 斜杠添加到其他 uris 。无需将您的 traling slash code 与此组合。
    • 我只使用了你的代码,但没有任何效果,网站一团糟,所有 url 都重定向到 index.php 页面,并带有斜杠,例如 (erfs.com/index.php) ,并且 css 搞砸了
    • @indy 我已经更新了规则。清除浏览器缓存,然后进行测试。
    • 我已经更新了我的查询并为此提出了一个单独的问题,希望你能帮助我
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2014-07-20
    • 2015-01-15
    • 2011-05-09
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多