使用mod_rewrite的Apache ssl重定向

时间:2009-08-14 14:41:34

标签: apache mod-rewrite

我想这样做:如果他们https://example.com我想将它们重定向到https://www.example.com(添加www.)。我已经尝试了大量的事情无济于事。

Redirect https://example.com/<anything> to https://www.example.com/<anything>
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] 

此代码位于httpd.conf中,但已在.htaccess和ssl.conf中尝试过。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

您是否已通过RewriteEngine On启用重写或已安装mod_rewrite?否则,您的代码应该可以正常工作。

答案 1 :(得分:1)

Redirect directive仅适用于网址路径。但是有可能使用mod_rewrite。此规则适用于任何配置文件:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteCond %{SERVER_PORT} =443
RewriteRule ^ https://www.example.com%{REQUEST_URI} [L,R=301]

不要忘记强制性RewriteEngine on喜欢(Residuum已经说过)(1278432#1278432)。

答案 2 :(得分:0)

使用此:

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

当然,不要忘记将“www.example.com”替换为您自己的域名。