domain.com
www.domain.com/xyz
http://domain.com/xyz
http://www.domain.com/xyz
https://domain.com/xyz
必須重定向到下面的.htaccess(阿帕奇2.4)隨着htaccess的..所有網址必須重定向到https以www
https://www.domain.com/xyz
domain.com
www.domain.com/xyz
http://domain.com/xyz
http://www.domain.com/xyz
https://domain.com/xyz
必須重定向到下面的.htaccess(阿帕奇2.4)隨着htaccess的..所有網址必須重定向到https以www
https://www.domain.com/xyz
將這個規則在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
嘗試把這個在你的.htaccess
文件DOCUMENT_ROOT
:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?(?:xyz/?)?$ https://www.domain.com/xyz [R=302,L]
如果此方法有效,您可以將R=302
更改爲R=301
。
讓我知道這是否適合你。 :)
「https://domain.com/」運行這個URL,它不會重定向到「https:// www.domain.com/」(我在這裏把空間放在url中以顯示url的確切示例)... Can你請更新這個? –
有了這個規則'https:// domain.com /'將被重定向到'https:// www.domain.com /',因爲在兩種情況之間有[OR]。確保你在一個新的瀏覽器中測試,這是你的第一條規則。 – anubhava
謝謝您的回覆先生。我用新的瀏覽器做了測試,並做了緩存清理和另一個人系統。如果URL「http」和非www比它適當的工作,因爲我們有HTTP_HOST但url與「https」和非www比它不工作。是否要求「無論如何」確認表單的ssl確認。只能使用「https」。有沒有更多的條件與RewriteCond%{HTTPS_HOST}!^ www \。 ? –