web-dev-qa-db-fra.com

301 redirige toutes les pages avec une extension spécifique

J'ai un site Web qui n'est plus sur ASP, il s'agit maintenant d'un Drupal 7.

Je dois utiliser un fichier .htaccess pour rediriger avec le code 301 toutes les pages avec l'extension .asp vers la page 404 ou vers une URL spécifique.

(Histoire de base: Drupal capturera les pages inexistantes telles que domain.com/test et sera redirigé vers une page 404. Mais Drupal ne capturera pas les pages non existantes avec ASP extension telle que domain.com/test.asp et elle servira plutôt une page générique Apache Introuvable.)

Par exemple, si quelqu'un essaie d'accéder à domain.com/test.asp, l'utilisateur doit être amené à domain.com/404

J'ai cherché et cherché mais je ne trouve pas de solution à ce problème particulier. Comment puis-je coder cela dans un fichier .htaccess?

1
leonel
RewriteEngine On
RewriteRule ^.+\.asp$ domain.com/404 [R=404,L]

Aughta faire le tour :) C'est assez explicite, il réécrit chaque page qui se termine par .asp à votre page 404.

Vous devez utiliser 404 au lieu de 301 puisque vous souhaitez indiquer à Google que la page n'existe plus. Vous pouvez utiliser 301, mais vous devrez alors rediriger vers une nouvelle page utile.

3
Ivo van der Veeken

Apache mod_alias supporte la syntaxe sans avoir besoin de règles de réécriture:

RedirectMatch permanent (.*)\.gif$ http://www.anotherserver.com$1.jpg
0
Stephen Ostermiller