2012-08-08 68 views
1

我對reg ex很陌生,並且有一些drupal別名,包括一些遺留的.html文件(別名),我希望爲SEO原因保留.html文件(別名)。我需要在虛擬目錄上強制使用斜線,並在.html別名上強制使用斜線。htaccess reg ex添加尾隨斜槓到目錄但不是一些drupal別名

到目前爲止,我有這樣的代碼,它將斜線添加到目錄而不是.html,但它仍然允許用戶或代理去.html/- 任何幫助重寫刪除或404斜線非常讚賞。

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#is not an htm/l file 
RewriteCond %{REQUEST_URI} !\.html?$ [NC] 
#does not end with a slash 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule ^(.+)$ http://www.example.com/$1/ [L,R=301] 
+1

這裏有什麼問題嗎?當有一個以'.html'結尾的URL時,這些規則是否會添加尾部斜線?或者你是否想阻止人們爲html文件的請求添加尾部斜槓? – 2012-08-08 02:17:14

+0

該規則正在按照它應該的方式工作,但我們希望添加一些內容以防止人們以及更重要的蜘蛛將附加的斜槓添加到HTML文件的請求中。據我瞭解,這通常會導致默認情況下出現404錯誤,但由於某些原因,當.html文件是drupal中的別名時,它仍會在添加結尾斜槓時顯示頁面。 news.html與news.html/ – user1583379 2012-08-08 06:57:24

回答

0

嘗試添加RewriteBase低於這個權利:

RewriteRule ^(.*)(\.html?)/$ /$1$2 [R=301,L] 
+0

完全相同,非常感謝。 – user1583379 2012-08-08 07:11:02

相關問題