我正在尝试重写Apache中的所有后续网址(v2.2.22 - Debian):
到
将http重写为https没问题 - 这很好用。但我似乎无法摆脱www前缀。我的域名使用www运行,但我的SSL证书恰好只对mydomain.com和mail.mydomain.com有效,而不是对www.mydomain.com有效 - 所以www在我的浏览器中给了我SSL警告。
我在网上尝试过很多建议,但这些建议似乎都没有用。目前在我的/ etc / apache2 / sites-available / default(由apache2.conf选中)如下:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://mydomain.com/$1 [L]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [L]
正如我所说,这适用于http => https,而不是丢失www前缀。有什么想法吗?
答案 0 :(得分:0)
您忘了进行外部重定向。添加[R=301]
标记。
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]