所以我一直試圖讓這個重定向代碼現在工作幾個小時,這讓我發瘋。我有相反的方向(非www到www)與此代碼工作:.htaccess將www重寫爲非www重定向問題
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*) http://www.%{HTTP_HOST} [R=301]
我發現了上述代碼在這裏: https://stackoverflow.com/questions/3013730/redirecting-non-www-to-www
我不得不刪除從第三行的$ 1代碼來得到它的工作:
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]
我需要的是www.example.com重定向到example.com
並在每一頁上www.example.com重定向到網址完全相同,減去WWW。
www.example.com/test --->example.com/test
www.example.com/begin.php --->example.com/begin。 php
等等等等。由於我有最上面的代碼部分工作在相反的方向,我認爲只需切換幾個事情並在幾分鐘內完成工作就很容易,但我總是會遇到404s,無限循環,以及什麼有你。主要問題是我不完全理解這部分代碼:
^[^.]+\.[^.]+$
apache greenie的任何幫助?太感謝了!
--- 編輯 ---
我發現了一個代碼,是更接近我想要的,但它有自己的問題的份額。的代碼是:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^.*$ http://example.com%{REQUEST_URI} [R=301,L]
有兩個問題與此代碼:
1)當我在example.com/test鍵入,它首先穿過www.example.com/test如果可能的話,我希望避免這種情況。
2)當我在example.com/test鍵入,它在example.com/test.php結束了,我想避免具有與所述.PHP擴展作爲文件最終目的地。有什麼建議麼?
謝謝您的回覆!正如所寫,這給了我一個無限循環像example.com/example/example/example/example(等等等等)。我發現另一個代碼主要是我想要的,但它仍然給我一些問題(請參閱上面的編輯)。 –
@RichardColeman我更新了我的答案,以防止任何循環的可能性。 –
再次感謝您的幫助。當我嘗試www.example.com時,新代碼僅僅是404s。我開始認爲這是我的網絡主機(1和1),這是導致問題的原因,因爲幾乎所有其他人都沒有遇到同樣的問題。 –