【问题标题】:mod_rewrite adds trailing slash - how to stop this behavior?mod_rewrite 添加斜杠 - 如何阻止这种行为?
【发布时间】:2014-12-08 13:27:57
【问题描述】:

我正试图弄清楚如何阻止这种行为。 mod_rewrite 删除“www”前缀时,在域名后添加斜杠。

我目前用于将所有 http 流量转换为 https 并删除 www 前缀的规则:

*:80 Vhost:
RewriteEngine On
# Redirect all HTTP calls to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

*:443 Vhost:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.DOMAIN.com$ [NC]
RewriteRule ^(.*)$ https://DOMAIN.com/$1 [R=301,L]

所以如果我要去“https://www.DOMAIN.com”,它通常会添加“/#!/”,但现在它还会添加另一个斜线,所以它给了我 301 到“https://DOMAIN.com//#!/”

感谢您的宝贵时间。

【问题讨论】:

    标签: apache .htaccess mod-rewrite httpd.conf


    【解决方案1】:

    将最后一条规则更改为:

    RewriteRule ^/?(.*)$ https://DOMAIN.com/$1 [R=301,L]
    

    【讨论】:

    • 成功了!我不确定我以外的人是否能看到它,但你不到一分钟就回复了我 :) 谢谢!
    • @Yoav 这是因为他可以使用他的神奇牙签。看看他的头像……
    猜你喜欢
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 2012-05-20
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多