我知道類似的問題已經被問到,但這個相同的代碼在兩個網站上工作,並沒有三分之一,所以我正在尋找想要改變和/或者要弄清楚爲什麼它不能在第三個網站上工作。htaccess重寫爲www,除了子域沒有按預期工作
什麼需要發生:重定向域(1)非https的所有請求到https,以及(2)所有非www到www ...除staging.___.com子域以外的所有請求,它既不會收到www,也不會收到https。
#Rewrite http to https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^staging\.(.+)$ [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
#Rewrite non-www to www
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteCond %{HTTP_HOST} !^staging\.(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]
這個工程上的兩個GoDaddy的精細共同主辦的網站(「豪華虛擬主機的Linux」),而不是在第三這是對「豪華Linux中的cPanel主機」,如果該事項。 (PHP的版本不同,Apache可能是不同的,但不知道如何檢查,因爲apache_get_version不會對GoDaddy的工作...)
凡重定向沒有兩個!^分期htaccess的線:
http://www.staging.___.com/newtest/
然後它進入無限重定向循環。 (「newtest」是GoDaddy的控制面板中指定的子域文件夾)
凡帶重定向的^在htaccess的分期行:
https://www.___.com
我失去了一些東西明顯?
你的第二個'RewriteRule'應該重定向到'https',否則,你會在任何服務器上浪費雙重重定向。這個'.htaccess'文件位於何處? 'staging'子域指向主域的文檔根目錄下的'/ newtest'子目錄?文件系統路徑中是否還有其他'.htaccess'文件?在您的示例中,您要求的完整網址是什麼? – MrWhite
請清除您的瀏覽器緩存並測試我的答案 –