2010-11-13 8 views
0

Est-il possible de simplifier ces RewriteRules? J'ai des centaines d'entrées similaires dans mon fichier .htaccess et il ne semble pas être la meilleure façon de définir un en-tête 410.Comment simplifier .htaccess Rewriterule

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

Merci

+1

Pourquoi faites-vous cela de toute façon? Quel est le problème avec juste laisser le serveur envoyer un 404 comme d'habitude? – noodl

Répondre

1

Vous pouvez utiliser un rewrite map comme ceci:

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

Ensuite, vous recherche la demande chemin d'URI comme ceci:

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

la seule simplification est que vous n'avez pas besoin RewriteRule et [G] répétitif. Et avec une carte de réécriture de type dbm vous pourriez même avoir un temps d'accès de O (1) au lieu de O (n).

0

Débarrassez-vous de tous ces rewritrules et dire:

ErrorDocument 404 /404.html 

Maintenant, il suffit de faire un fichier 404.html et il envoie tous les fichiers manquants y. Le message d'erreur 410 est rarement si jamais montré dans la pratique car il fait référence à un serveur manquant, par opposition à un fichier manquant: http://www.checkupdown.com/status/E410.html