web-dev-qa-db-fra.com

Réécrire la règle pour donner 410 Gone pour une URL spécifique ne fonctionne pas

Je suis Français. Il y a une semaine, mon site Web a été piraté avec l'ancienne version (http). Le hack a créé 404 spams et je veux m'assurer qu'ils ont le statut "410 Gone". Mon problème sur le site est: https://www.example.com/aasption

J'ai essayé:

RewriteRule ^aasption - [G] 

dans htaccess . Ça ne marche pas. Qu'est-ce qui ne va pas?

MISE À JOUR:

Le problème est que je reçois toujours un 404.

Exemples d'URL qui ont été spammées:

  • www.example.com/aasption.asp?id=puma/puma-ambition-collant/prd/9723115?...
  • wwww.example.com/aasption.asp?search=puma&page=5

Ma .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^aasption - [G]
</IfModule>
1
david

Vous avez mis votre directive au mauvais endroit. Il doit aller en haut de la .htaccess fichier, avant le contrôleur frontal, pas à la fin. En mettant ce code à la fin, cela ne fera tout simplement rien, car les directives précédentes ont déjà réécrit l'URL de toute demande qui ne correspond pas à un fichier physique.

L'ordre de ces directives est important.

Par exemple:

# Send 410 Gone for any URL that starts "/aasption"
RewriteRule ^aasption - [G]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Vous n'avez pas besoin de répéter le RewriteEngine On directive.

1
MrWhite