it-swarm.com.de

Was muss ich in htaccess tun, um eine 410-Fehlerseite zu erstellen, wenn ein URL-Parameter vorhanden ist?

Ich habe versucht, eine 410-Fehlerseite zu erstellen, aber festgestellt, dass ich tatsächlich eine 302-Umleitung zu einer 410.php -Seite erstellt habe. Stattdessen möchte ich einen 410-Fehler verwenden, um unendlich viele dynamisch erstellte Seiten zu blockieren, die von Google indiziert werden. Ich habe ungefähr 30.000 interne Links, die dank einer fehlerhaften internen Suchmaschine bei Google indexiert sind:

  • http://www.example.com/?searchkey=1_q
  • http://www.example.com/?searchkey=2ak - (etc ... geht 30k mal weiter)

Was muss ich in htaccess schreiben, um etwas mit diesem "searchkey" -Parameter so zu blockieren, dass eine 410-Fehlerseite bedient wird? (Ich bin kein Programmierer, daher würde ich mich über eine vereinfachte Antwort freuen.)

4
dannyboy222

Sie können dies mit der folgenden Umschreiberegel in .htaccess tun:

RewriteEngine on 
RewriteCond %{QUERY_STRING} searchkey
RewriteRule .* - [G,L]
  • .* bedeutet, dass dies für jede URL auf Ihrer Website durchgeführt wird (sofern die Bedingung "searchkey" in der Abfragezeichenfolge erfüllt ist).
  • - bedeutet, die URL in Ruhe zu lassen und nicht zu ändern
  • G bedeutet "Gone" - sendet den 410-Status
  • L bedeutet "Last" - damit keine anderen Rewrite-Regeln ausgeführt werden

Da Sie eine benutzerdefinierte Seite mit dem Fehler 410 "gegangen" haben, können Sie auch die folgende Anweisung .htaccess verwenden, um sie anstelle der Standard-Fehlerseite mit dem Fehler 410 "gegangen" anzuzeigen:

ErrorDocument 410 /410.php
7