Ôi trời ơi!
Những gì bạn yêu cầu không đơn giản và cần bạn có một máy tính mạnh mẽ, nhưng kết quả thật tuyệt vời.
Đây là những gì tôi khuyên bạn nên làm:
- Để xử lý đúng 404, bạn có
ErrorDocument
chuyển hướng trong cấu hình vhost. Của tôi trông giống như sau:ErrorDocument 404 /404.php
; - Khi có 404, Apache sẽ gọi
/404.php
với tất cả các đối số (URL nào không hợp lệ, v.v., hãy kết xuất$_SERVER
để xem điều này). Bạn phải kiểm tra xem chỉ có hai biểu thức trong URL/
tức làhttp://mysite.com/(expr1)/(expr2)/
- Nếu không, hãy thực hiện 404.
- Nếu có thì hãy thực hiện SOUNDEX
tìm kiếm bằng MySQL (trong
404 Php
của bạn tập tin). Xem mẫu truy vấn tại đây . - Sau đó, trong trường hợp 404 "đặc biệt" này, hãy thực hiện một đề xuất, giống như google đã làm, tức là:"ý bạn là
/action/story-name-action/
? nếu vậy, hãy nhấp vào liên kết ".
Đây là một công việc khó, nhưng nó vừa thú vị vừa thể hiện kỹ năng của bạn. Rất ít trang web làm được điều này (thực ra tôi chỉ biết google).
Đây là bản demo trên bảng tiếng Pháp của tôi có thể cung cấp cho bạn cái nhìn tổng quan về cách nó hoạt động:
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>