2014-06-24 62 views

回答

2

將這個規則在DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 

RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.domain.com%{REQUEST_URI} [R=302,L,NE] 

編輯:使用測試curl命令行:

$> curl -I -k -A "Chrome" -L 'https://domain.com/' 
HTTP/1.1 302 Found 
Date: Wed, 25 Jun 2014 06:50:57 GMT 
Server: Apache/2.4.7 (Ubuntu) 
Location: https://www.domain.com/ 
Content-Type: text/html; charset=iso-8859-1 

HTTP/1.1 200 OK 
Date: Wed, 25 Jun 2014 06:51:00 GMT 
Server: Apache/2.4.7 (Ubuntu) 
Last-Modified: Thu, 19 Jun 2014 13:16:20 GMT 
ETag: "7ac-4fc302ecafc5e" 
Accept-Ranges: bytes 
Content-Length: 1964 
Vary: Accept-Encoding 
Content-Type: text/html 
+0

「https://domain.com/」運行這個URL,它不會重定向到「https:// www.domain.com/」(我在這裏把空間放在url中以顯示url的確切示例)... Can你請更新這個? –

+0

有了這個規則'https:// domain.com /'將被重定向到'https:// www.domain.com /',因爲在兩種情況之間有[OR]。確保你在一個新的瀏覽器中測試,這是你的第一條規則。 – anubhava

+0

謝謝您的回覆先生。我用新的瀏覽器做了測試,並做了緩存清理和另一個人系統。如果URL「http」和非www比它適當的工作,因爲我們有HTTP_HOST但url與「https」和非www比它不工作。是否要求「無論如何」確認表單的ssl確認。只能使用「https」。有沒有更多的條件與RewriteCond%{HTTPS_HOST}!^ www \。 ? –

0

嘗試把這個在你的.htaccess文件DOCUMENT_ROOT

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^/?(?:xyz/?)?$ https://www.domain.com/xyz [R=302,L] 

如果此方法有效,您可以將R=302更改爲R=301

讓我知道這是否適合你。 :)

+0

嘿基尚,在此跟進,做的一個答案爲你解決,還是仍然存在的問題? – zx81

+0

「https://domain.com/」運行這個URL,它不會重定向到「https:// www.domain.com/」(我把空間放在url中以顯示url的確切示例)... Can你請更新這個?我真的想要先生.. –

+0

@KishanPatel我做了一個小小的調整:在'$'之前添加了一個問號。讓我知道如果照顧它。 :) – zx81

相關問題