Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Umleitung 404 auf ähnliche URLs

Oh Mann, oh Mann!

Was Sie verlangen, ist nicht einfach und erfordert einen leistungsstarken Computer, aber die Ergebnisse sind einfach erstaunlich.

Folgendes würde ich vorschlagen:

  • Für die korrekte Handhabung von 404 haben Sie das ErrorDocument Umleitung in der vhost-Konfiguration. Meine sieht so aus:ErrorDocument 404 /404.php;
  • Bei einem 404 ruft Apache /404.php auf mit allen Argumenten (welche schlechte URL und so weiter, dump $_SERVER um das zu sehen). Sie müssen testen, ob es nur zwei Ausdrücke in der URL / gibt d.h. http://mysite.com/(expr1)/(expr2)/
  • Wenn nicht, dann mach einen klassischen 404.
  • Wenn ja, dann mach einen SOUNDEX suche mit MySQL (in deinem 404 Php Datei). Siehe Abfragebeispiel hier .
  • Machen Sie dann in diesem "speziellen" 404-Fall einen Vorschlag, wie es Google tut, z. B.:"Meinten Sie /action/story-name-action/ ? wenn ja, klicken Sie auf den Link".

Dies ist eine harte Arbeit, aber es ist sowohl interessant als auch zeigt Ihr Können. Sehr wenige Websites tun dies (ich kenne nur Google).

Hier ist eine Demo auf meinem französischen Tisch, die Ihnen einen Überblick darüber geben könnte, wie es funktioniert:

mysql> SELECT * FROM job WHERE
SOUNDEX( description ) LIKE SOUNDEX('Machiniste cinéma');
+-------+--------------------+
| id    | description        |
+-------+--------------------+
| 14018 | Machiniste cinéma  |
+-------+--------------------+
1 row in set (0.06 sec)

mysql> SELECT * FROM job WHERE
SOUNDEX( description ) LIKE SOUNDEX('Mchiniste cinéma');
+-------+--------------------+
| id    | description        |
+-------+--------------------+
| 14018 | Machiniste cinéma  |
+-------+--------------------+
1 row in set (0.06 sec)

mysql> SELECT * FROM job WHERE
SOUNDEX( description ) LIKE SOUNDEX('Machnste cinema');
+-------+--------------------+
| id    | description        |
+-------+--------------------+
| 14018 | Machiniste cinéma  |
+-------+--------------------+
1 row in set (0.06 sec)

mysql>