0
我應該有一個htaccess每個網站,但我有一個爲4個網站 - 2英國的一個和2個非盟的。這是一個Codeigniter版本。 2個站點位於dev.mydomain.extension中,2個站點是活動站點。htaccess重寫太多的重定向codeigniter - 非SSL到子網域除SSL以外
我想做什麼:
- 重定向任何
http://mydomain.co.uk
到https://WWW.mydomain.co.uk
- 重定向任何
http://WWW.mydomain.co.uk
到https://WWW.mydomain.co.uk
- 根本不 變化
http://dev.mydomain.co.uk
。
我想下面,但我總是得到'太多重定向'的錯誤,我不認爲它會處理萬維網的事情。我有點深入。
RewriteEngine on
RewriteBase/
##setting 2 exceptions
RewriteCond %{HTTP_HOST} !=dev.mydomain.co.uk
RewriteCond %{HTTP_HOST} !=dev.mydomain.com.au
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
##Codeigniter rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
尋找隱身我會用你的代碼「重定向你太多次」。我錯過了一個排除,也包括雖然: '#從舊站點抓住任何index.asp RewriteRule ^(。*)\ index.asp $/$ 1 [R = 301,L]' 如果它使一個區別。這就是codeigniter規則之前。 – tobzzz
不,我已經在我的Apache服務器上測試了這個規則,除非有其他規則或代碼重定向回http://,否則這條規則沒有重定向循環。 btw隱身並不意味着舊的緩存消失了。完全清除瀏覽器緩存或使用命令行'curl'對其進行測試。 – anubhava
我把它減少到前6行(7個空格),所以沒有CI規則。清除緩存,在代理服務器中檢查,所有重定向過多。它*確實*說https:在URL欄中。所以不知道這意味着什麼 - 就像它到達那裏,然後有一個隨後的重定向。 – tobzzz