Oh mec, oh mec !
Ce que vous demandez n'est pas simple et nécessite que vous disposiez d'un ordinateur puissant, mais les résultats sont tout simplement incroyables.
Voici ce que je suggérerais de faire :
- Pour une gestion correcte de l'erreur 404, vous avez le
ErrorDocument
redirection dans la configuration vhost. Le mien ressemble à ceci :ErrorDocument 404 /404.php
; - Si vous avez un 404, Apache appellera
/404.php
avec tous les arguments (quelle mauvaise URL et ainsi de suite, dump$_SERVER
pour voir ça). Il faut tester s'il n'y a que deux expressions dans l'URL/
c'est-à-direhttp://mysite.com/(expr1)/(expr2)/
- Si non, faites un 404 classique.
- Si oui, faites un SOUNDEX
rechercher avec MySQL (dans votre
404 Php
dossier). Voir l'exemple de requête ici . - Ensuite, dans ce cas "spécial" 404, faites une suggestion, comme le fait Google, c'est-à-dire :"vouliez-vous dire
/action/story-name-action/
? si oui, cliquez sur le lien".
C'est un travail difficile, mais c'est à la fois intéressant et montre votre talent. Très peu de sites Web le font (je ne connais que Google en fait).
Voici une démo sur ma table française qui pourrait vous donner un aperçu de son fonctionnement :
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>