O rany, o rany!
To, o co prosisz, nie jest proste i wymaga posiadania potężnego komputera, ale wyniki są po prostu niesamowite.
Oto, co proponuję zrobić:
- Dla poprawnej obsługi 404, masz
ErrorDocument
przekierowanie w konfiguracji vhost. Mój wygląda tak:ErrorDocument 404 /404.php
; - Mając błąd 404, Apache wywoła
/404.php
ze wszystkimi argumentami (który zły URL itd., zrzuć$_SERVER
aby to zobaczyć). Musisz sprawdzić, czy w adresie URL są tylko dwa wyrażenia/
np.http://mysite.com/(expr1)/(expr2)/
- Jeśli nie, wykonaj klasyczne 404.
- Jeśli tak, wykonaj SOUNDEX
szukaj za pomocą MySQL (w twoim
404 Php
plik). Zobacz przykład zapytania tutaj . - Następnie w tym „specjalnym” przypadku błędu 404 zrób sugestię, tak jak robi to Google, np.:„czy miałeś na myśli
/action/story-name-action/
? jeśli tak, kliknij link”.
To ciężka praca, ale jest zarówno interesująca, jak i pokazuje twoje umiejętności. Bardzo niewiele stron internetowych to robi (właściwie po prostu znam Google).
Oto demo na moim francuskim stole, które może pokazać, jak to działa:
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>