.htaccess重写条件删除' www'来自' https:// www'

时间:2015-06-09 03:10:07

标签: .htaccess mod-rewrite

我只需添加' https'删除' www'在每种情况下:

我使用以下代码:

    RewriteEngine on
    RewriteCond %{http_host} ^www\.example\.com [NC]
    RewriteRule ^(.*)$ http://example.com/$1 [R=301,NC]

    RewriteCond %{HTTPS} !on
    RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [R,L]

无论出于何种原因,它适用于前两种情况,但我无法使其适用于最后一种情况。

我甚至无法解决孤立的最后一个案例,例如像:

RewriteEngine on
RewriteCond %{https_host} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,NC]

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

我确定这是重复的,但这里是我使用的代码:

RewriteEngine on

#This removes the www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [L,R=301,NC,QSA]

#This makes redirect to https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]