2013-07-07 49 views
1

我已經嘗試通過在.htaccess中使用幾種不同的解決方案在我的網站上的HTTP重定向到HTTPS並且都沒有工作。 嗯,其實它的工作,如果我直接鍵入:無法重定向HTTP到HTTPS使用htaccess重寫

(例如只)http://mywebsite.com

到瀏覽器地址欄....但如果我嘗試重定向URL任何其他方式,它贏得沒有工作。如果我嘗試鏈接到我在Google http://mywebsite.com/上列出的網頁,它將不會重定向到https://www.mywebsite.com。如果有人從搜索引擎點擊我的網頁鏈接,我需要它從HTTP重定向到HTTPS。

到目前爲止,我曾嘗試:

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

然後,我嘗試...

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] 

,然後我想...

RewriteCond %{SERVER_PORT} !443 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R,L] 

無效。我還應該嘗試什麼? (本網站託管在使用apache web服務器的網站託管服務網站上)。另外,如果這有什麼不同,我還有一個頁面的SSL證書。

+0

.htaccess是否啓用?嘗試把一些垃圾文本放在上面,看看是否會產生500錯誤? – anubhava

+0

.htaccess已啓用。 – user1066524

+0

查看在瀏覽器中輸入「https:// www.example.com /」時會發生什麼? – anubhava

回答

3

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

提示:清除瀏覽器緩存或使用不同的瀏覽器進行測試。

+0

我會試試這個。 – user1066524

+0

這可能需要一段時間,我決定繼續購買有信譽的SSL證書。 – user1066524

+0

好吧,現在我添加了你放的東西后,我終於可以工作了。謝謝! – user1066524