0

我正在尝试在 Apache (v2.2.22 - Debian) 中重写所有以下 url:

http://mydomain.com/something

http://www.mydomain.com/something

https://www.mydomain.com/something

https://mydomain.com/something

将 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 前缀。有任何想法吗?

4

1 回答 1

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]
于 2013-08-24T08:19:33.407 回答