的WWW版本在我的主要.htaccess
文件在我的域的根,我有以下代碼:應用的.htaccess重定向到所有子目錄現場
RewriteEngine on
# If missing 'www'
RewriteCond %{http_host} ^example.com [nc]
# Redirect to 'www' version
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,nc]
# Remove 'index.php' from URL
RewriteRule ^index.php$ http://www.example.com/ [R=301,nc]
然後我有一個單獨的.htaccess
文件中的每個目錄,還刪除URL中的index.php
,如下所示的/products
目錄:
RewriteEngine on
RewriteRule ^index.php$ http://www.example.com/products/ [r=301,nc]
當我(我清除緩存後)參觀example.com
我重定向到如預期的那樣。
但是,如果我在地址欄中輸入example.com/products
,頁面加載的example.com/products/
和我不重定向到www.example.com/products/
版本。我究竟做錯了什麼?請幫助...並且如有必要,我可以提供更好的解釋/示例。
好的...所以如果我想要根目錄和子目錄中的所有URL重定向到他們的www版本,並且我想從所有的URL中刪除'index.php',我應該把什麼放在'/ products/.htaccess'中? – adamdehaven
@AdamD正是我在回答中所說的。 'RewriteOptions繼承'。這不夠清楚嗎? –
噢好吧...所以我只想'RewriteOptions繼承'並刪除其他所有內容? (只是想確保b/c網站目前正在運行):) – adamdehaven