【问题标题】:HTACCESS add WWW with HTTPS redirectHTACCESS 添加带有 HTTPS 重定向的 WWW
【发布时间】:2014-10-30 22:32:01
【问题描述】:

目前我的 htaccess 代码是

#add www
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]


#send all traffic to https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

输入以下网址时有效

1. https://example.com -> https://www.example.com 2. http://example.com -> https://www.example.com 3. http://www.example.com -> https://www.example.com 4. https://example.com -> https://www.example.com 5. https://example.com/somepage -> https://www.example.com/somepage 6. http://www.example.com/somepage -> https://www.example.com/somepage

但是当 https 和 www 在尝试访问某些页面时不存在时它不起作用,而是重定向到奇怪的 url

7. http://example.com/somepage -> https://www.example.com/https://example.com/somepage

【问题讨论】:

标签: apache .htaccess mod-rewrite redirect url-rewriting


【解决方案1】:

用这个替换你当前的代码

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

注意:也许您必须清除浏览器的缓存才能看到它对 http://example.com/somepage 有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2018-06-02
    • 2021-11-10
    • 2012-12-23
    • 2016-09-01
    相关资源
    最近更新 更多