Как упростить .htaccess Rewriterule - PullRequest
0 голосов
/ 13 ноября 2010

Можно ли упростить эти RewriteRules? У меня есть сотни похожих записей в моем файле .htaccess, и это не лучший способ установить заголовок 410.

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

Спасибо

Ответы [ 2 ]

1 голос
/ 14 ноября 2010

Вы можете использовать карту перезаписи , например:

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 голосов
/ 14 ноября 2010

Избавьтесь от всех этих переписываний и скажите:

ErrorDocument 404 /404.html

Теперь просто создайте файл 404.html и он отправит туда все отсутствующие файлы.Сообщение об ошибке 410 редко, если вообще показывается на практике, относится к отсутствующему серверу, а не к отсутствующему файлу: http://www.checkupdown.com/status/E410.html

...