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
ErrorDocumentprzekierowanie w konfiguracji vhost. Mój wygląda tak:ErrorDocument 404 /404.php; - Mając błąd 404, Apache wywoła
/404.phpze wszystkimi argumentami (który zły URL itd., zrzuć$_SERVERaby to zobaczyć). Musisz sprawdzić, czy w adresie URL są tylko dwa wyrażenia/np.https://mysite.com/(expr1)/(expr2)/ - Jeśli nie, wykonaj klasyczne 404.
- Jeśli tak, wykonaj SOUNDEX
szukaj za pomocą MySQL (w twoim
404 Phpplik). 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>