5

我有一个我们称为 example.com 的网站的“www”子域的 SSL 证书。

因此我可以强制使用 SSL,但如果用户没有在浏览器中输入“www.example.com”,则 SSL 证书将显示为无效。

我希望在网站根目录的 .htaccess 文件中使用 mod_rewrite 规则来完成此操作。

无论用户输入什么 URI(例如 example.com、www.example.com、https ://example.com、example.com/folder/file.html 等) ,我都想强制 HTTPSwww 子域,当然保留他们提供的任何 URI。

我正在玩弄 .htaccess 文件和一些规则,因为我已经做了一些研究,但我对 mod_rewrite 或 .htaccess 没有太多经验。我想我找到了几乎对我有用的 SVN 修订版,但并不完全。这里是:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTP_HOST} ^example.com [nc]
RewriteRule ^(.*)$ https://www.example.com/$1 [r=301,nc]

尽量不要对我的档案笑得太厉害;它主要来自我在网上找到的示例。

任何指针表示赞赏!=)

4

1 回答 1

3

试试这个:

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301]
于 2009-02-20T16:10:41.410 回答