Mysql
 sql >> база данни >  >> RDS >> Mysql

пренасочва 404 към подобни URL адреси

О, човече, о, човече!

Това, което искате, не е просто и трябва да имате мощен компютър, но резултатите са просто невероятни.

Ето какво бих препоръчал да направите:

  • За правилна обработка на 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> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се използва desc име на колона в mysql

  2. Покажете всички редове в таблицата на mysql, след което дайте опция за изтриване на конкретни

  3. Как да съхранявам десетични числа в MySQL?

  4. Защо PDO отпечатва паролата ми, когато връзката е неуспешна?

  5. Как да намерите временна машина за съхранение на таблици MySQL