web-dev-qa-db-ja.com

URLパラメーターが存在する場合、410エラーページを作成するためにhtaccessに何を入れますか?

410エラーページを作成しようとしましたが、410.phpページへの302リダイレクトを実際に作成したことに気付きました。代わりに、410エラーを使用して、Googleによってインデックス付けされている動的に作成された無数のページをブロックします。不完全な内部検索エンジンのおかげで、Googleでインデックス化されている約3万の内部リンクがあります。

  • http://www.example.com/?searchkey=1_q
  • http://www.example.com/?searchkey=2ak-(など... 3万回続きます)

410エラーページが表示されるように、この「searchkey」パラメーターで何かをブロックするには、htaccessに何を書き込む必要がありますか? (私はプログラマーではないので、簡単な応答をお願いします。)

4
dannyboy222

.htaccessの次の書き換えルールを使用してこれを行うことができます。

RewriteEngine on 
RewriteCond %{QUERY_STRING} searchkey
RewriteRule .* - [G,L]
  • .*は、サイト上のすべてのURLに対してこれを実行することを意味します(クエリ文字列に「searchkey」を含む条件が満たされている限り)
  • -は、URLをそのままにして、変更しないことを意味します
  • Gは「Gone」を意味し、410ステータスを送信します
  • Lは「最後」を意味するため、他の書き換えルールは実行されません。

カスタム410削除ページがあるため、デフォルトの410削除エラーページの代わりに、次の.htaccessディレクティブを使用して表示することもできます。

ErrorDocument 410 /410.php
7