2010-11-13 44 views
0

是否可以簡化這些重寫規則?我在我的.htaccess文件中有數百個類似的條目,它似乎不是設置410標題的最佳方式。如何簡化.htaccess重寫程序

RewriteRule ^pageID_9363511.html - [G] 
RewriteRule ^pageID_9363511_2.html - [G] 
RewriteRule ^ci_8819019/thumb_11725326.JPG - [G] 
… 
… 

謝謝

+1

爲什麼你這樣做呢?正常情況下讓服務器發送一個404有什麼問題? – noodl 2010-11-13 11:54:23

回答

1

你可以使用一個rewrite map這樣的:

pageID_9363511.html - 
pageID_9363511_2.html - 
ci_8819019/thumb_11725326.JPG - 

然後你查找請求這樣的URI路徑:

RewriteCond ${gone:$0} =- 
RewriteRule .+ - [G] 

唯一的簡化是,你不需要重複RewriteRule[G]。並且使用類型爲dbm的重寫映射,您甚至可以訪問O(1)而不是O(n)。

0

擺脫所有這些rewritrules的說:

ErrorDocument 404 /404.html 

現在只是做一個404.html文件,它將所有失蹤的文件發送到那裏。 410錯誤信息很少,如果在實踐中不斷顯示,因爲它是指相對於丟失的文件丟失的服務器:http://www.checkupdown.com/status/E410.html