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>