sql >> Database >  >> RDS >> Mysql

404 omleiden naar vergelijkbare URL's

Oh man, oh man!

Wat je vraagt ​​is niet eenvoudig en je hebt een krachtige computer nodig, maar de resultaten zijn gewoon verbluffend.

Dit is wat ik zou aanraden om te doen:

  • Voor een juiste afhandeling van 404 heeft u het ErrorDocument omleiding in vhost-configuratie. De mijne ziet er zo uit:ErrorDocument 404 /404.php;
  • Als je een 404 hebt, belt Apache /404.php met alle argumenten (welke slechte URL enzovoort, dump $_SERVER om dit te zien). U moet testen of er slechts twee uitdrukkingen in de URL / . zijn bijv. http://mysite.com/(expr1)/(expr2)/
  • Zo niet, doe dan een klassieke 404.
  • Zo ja, voer dan een SOUNDEX uit zoek met MySQL (in uw 404 Php het dossier). Zie zoekvoorbeeld hier .
  • Doe dan, in dit "speciale" 404-geval, een suggestie, zoals Google doet, d.w.z.:"bedoelde je /action/story-name-action/ ? zo ja, klik dan op de link".

Dit is hard werken, maar het is zowel interessant als toont je vaardigheden. Zeer weinig websites doen dit (ik ken Google eigenlijk gewoon).

Hier is een demo op mijn Franse tafel die je een overzicht kan geven van hoe het werkt:

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> 


  1. Gegevens filteren met de JDBC RowSet

  2. MySQL Vraag over planning

  3. Hernoem een ​​tabel in MySQL

  4. MySQL Daemon Lock-probleem