如何将https://example.com/重定向到https://www.example.com/

时间:2011-03-01 06:09:38

标签: apache mod-rewrite redirect

我的.htaccess文件中包含此代码,如下所示。

RewriteEngine On
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

这是为了将http重定向到https而添加的,因此整个网站现在都是https版本。

现在我想从非www重定向到www。当我输入example.com时,我应该被重定向到https://www.example.com/

如何使用.htaccess文件执行此操作?

4 个答案:

答案 0 :(得分:6)

非SSL重定向:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com$1 [R=permanent,L]

SSL重定向:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ https://www.domain.com$1 [R=permanent,L]

答案 1 :(得分:0)

这个怎么样,因为https使用端口443

RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

答案 2 :(得分:-1)

将以下行放入.htaccess文件中,并将mydomain.com替换为您要重定向的域。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.){0,1}mydomain.com$ [OR]
RewriteCond %{HTTPS_HOST} ^(www\.){0,1}mydomain.com$
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]

为此,您必须从.htaccess文件中删除您在问题中提到的现有条目

答案 3 :(得分:-1)

我可能有解决方案:

RewriteEngine  on

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.[domain].com%{REQUEST_URI} [R=301,L,NE]

将[domain]和扩展名替换为您自己的域名。告诉我,如果这不起作用。