2009-02-20 77 views
5

我有一個網站的'www'子域的SSL證書,我們將打電話給example.com。爲.htaccess輸入的任何URI強制使用SSL&www子域名?

因此,我可以強制使用SSL,但如果用戶未在其瀏覽器中輸入「www.example.com」,則SSL證書將顯示無效。

我希望在網站根目錄下的.htaccess文件中使用mod_rewrite規則完成此操作。

無論什麼URI用戶輸入(例如:example.com,www.example.com,https://example.com,example.com/folder/file.html等),我想迫使HTTPS 的www子域名,當然要保留他們提供的任何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] 

儘量不要在我的文件中笑的太難;它主要來自我在網上找到的例子。

任何指針表示讚賞! =)

+0

http://no-www.com/ – ceejayoz 2009-02-20 16:11:55

+0

另外:使用example.com例如域(固定它你)從原來的修改 – 2009-02-20 16:13:51

回答

3

試試這個:

RewriteCond %{HTTPS} !on [OR] 
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301]