私はフランス人です。 1週間前、私のウェブサイトは古いバージョン(http)でハッキングされました。このハッキングにより404のスパムが作成されましたが、それらのスパムが「410 Gone」ステータスになっていることを確認したいと思います。サイト上の私の問題は:https://www.example.com/aasption
私は試した:
RewriteRule ^aasption - [G]
htaccess。動作しません。何が問題になっていますか?
更新:
問題は、私がまだ404を取得していることです。
スパムされたURLの例:
www.example.com/aasption.asp?id=puma/puma-ambition-collant/prd/9723115?...
wwww.example.com/aasption.asp?search=puma&page=5
俺の .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>
ディレクティブを間違った場所に配置しました。末尾ではなく、.htaccess
ファイルの先頭、つまりfront-controllerの前に配置する必要があります。このコードを最後に配置すると、物理的なファイルにマップされていない要求のURLが前述のディレクティブによって既に書き換えられているため、コードは何もしません。
これらのディレクティブの順序は重要です。
例えば:
# 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>
RewriteEngine On
ディレクティブを繰り返す必要はありません。