昨天我問了一個關於這個問題,但我仍然遇到了我的httpd.conf問題。Apache mod_rewrite,強制https,從根文件夾轉發
我想發生是這樣的:
用戶請求
http://www.mysite.com/
或mysite.com
,等等然後,他們將被重定向到https://www.mysite.com/shop/
我也想確保在任何請求
/shop
子目錄也被重寫爲HTTPS,即使用戶鍵入http://www.mysite.com/shop/help/
它也會被重寫爲https://www.mysite.com/shop/help/
這是我的配置現在,這是行不通的。
Listen *:443 https
Listen *:80 http
<VirtualHost *:80>
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^(shop/.*)$ https://%{HTTP_HOST}/shop/$1 [NC,R=301]
RewriteRule ^/$ https://%{HTTP_HOST}/shop/ [NC,R=301,L]
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLAppName QIBM_HTTP_SERVER_ZENDSVR
SetEnv HTTPS_PORT 443
RewriteEngine on
RewriteRule ^/$ https://%{HTTP_HOST}/shop/ [NC,R=301]
</VirtualHost>
不工作,在沒有任何作品,還是有一些事情,像預期的那樣? – nikoshr
不按預期方式工作。例如,如果我輸入https://www.mysite.com/,它會嘗試加載不存在的index.php,所以我必須使用header命令創建一個重定向到https://www.mysite。 com/shop /我也有問題,有些網站沒有被強制轉換爲HTTPS。如果他們在https://www.mysite.com/shop/或任何子文件夾,並且他們將其更改爲http://www.mysite.com/shop/我希望將其重定向到該網站的HTTPS版本。現在它只會接受它們改變的URL並加載頁面。 – Bead