2013-04-22 31 views
0

試圖僅爲駐留在根目錄中的頁面重寫URL字符串,刪除化妝品重複的頁面擴展名。例如:htaccess用於根頁面/但不包含子目錄或子域名

www.site.com/page.html ==> www.site.com/page www.site.com/about.html ==> www.site.com/about

目前使用此代碼:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^([^.]+\.com) [NC] 
RewriteRule (.*) http://www.%1/$1 [R=301,L] 

但我不希望規則修改子目錄或子域。例如,我也有:

clientA.site.com(它映射到www.site.com/clientA),我不需要保持不變。現在它將該頁面(client.site.com/index.html)發送到未找到的頁面。

回答

0

您的規則不會影響子域名。必須有其他規則導致404找不到響應。

如果你想限制請求到根頁面,則可以通過在請求URL路徑

# exclude directories 
RewriteCond %{REQUEST_FILENAME} !-d 
# allow top level request URLs only 
RewriteRule ^[^/]*$ http://www.%1/$0 [R,L] 

決不測試與301啓用排除斜線指定以適當的方式,看到這個答案 Tips for debugging .htaccess rewrite rules 瞭解詳情。

相關問題