Mysql
 sql >> Baza danych >  >> RDS >> Mysql

przekieruj 404 na podobne adresy URL

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> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zsumuj wyniki kilku zapytań, a następnie znajdź 5 najlepszych w SQL

  2. Porównanie Percona XtraBackup z MySQL Enterprise Backup:część pierwsza

  3. Ostatnie x wpisów na blogu - ale tylko raz na użytkownika

  4. #1111 — Nieprawidłowe użycie funkcji grupy

  5. Dodaj kolumnę MySQL, jeśli nie istnieje