2015-06-01 33 views
1

我有一個.htaccess文件,我想做兩件簡單的事情。htaccess重寫不帶走www

  1. 我希望我的所有網頁都顯示爲https(這工作正常)。
  2. 當有人進入我的網站時,無論他們如何輸入我的網站地址,我都希望它成爲https://example.com

原因是每當有人到我的網站與www。它會導致他們必須嘗試登錄兩次才能訪問其帳戶。它會導致一個新的會話,當點擊'登錄',並重新引導回索引頁。

如果有人去我的網站輸入在瀏覽器欄中... https://example.com或example.com ...它的工作原理只是因爲它應該。

這是我目前的.htaccess代碼。

RewriteEngine On 

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

如何將我的.htaccess文件中刪除了www。擺脫這個問題我有?

+0

你只是檢查'http:// www'。 'https:// www'將有端口443,並且失敗那個'Cond',導致其他所有的保釋。 –

回答

2

您可以使用此.htaccess

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC] 
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L] 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301] 
+0

完美!謝謝! – Paul

+0

不客氣,很高興它解決了。 – Croises

0

僅供參考,這可以用較少的代碼完成。

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]