О, човече, о, човече!
Това, което искате, не е просто и трябва да имате мощен компютър, но резултатите са просто невероятни.
Ето какво бих препоръчал да направите:
- За правилна обработка на 404 имате
ErrorDocument
пренасочване в конфигурация на vhost. Моят изглежда така:ErrorDocument 404 /404.php
; - Когато има 404, Apache ще извика
/404.php
с всички аргументи (кой лош URL адрес и така нататък, изхвърлете$_SERVER
за да видите това). Трябва да тествате дали има само два израза в URL адреса/
т.е.http://mysite.com/(expr1)/(expr2)/
- Ако не, направете класически 404.
- Ако отговорът е да, направете SOUNDEX
търсене с MySQL (във вашия
404 Php
файл). Вижте примерна заявка тук . - След това, в този „специален“ случай 404, направете предложение, както прави Google, т.е. „имахте ли предвид
/action/story-name-action/
? ако е така, щракнете върху връзката."
Това е трудна работа, но едновременно е интересна и показва уменията ви. Много малко уебсайтове правят това (само познавам Google всъщност).
Ето демонстрация на моята френска маса, която може да ви даде общ преглед на това как работи:
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>