哦,伙计,哦,伙计!
你所要求的并不简单,需要你有一台功能强大的计算机,但结果简直令人惊叹。
以下是我建议做的:
- 对于404的正确处理,您可以在vhost配置中进行重定向。我的看起来像这样:
ErrorDocument
ErrorDocument 404 /404.php
;
- 当有一个404时,Apache将使用所有参数进行调用(哪个错误的URL等等,转储才能看到这个)。您必须测试URL中是否只有两个表达式,即
/404.php
$_SERVER
/
http://mysite.com/(expr1)/(expr2)/
- 如果没有,那就做一个经典的404。
- 如果是,则使用MySQL(在您的文件中)进行SOUNDEX搜索。请参阅此处的查询示例。
404 Php
- 然后,在这个“特殊”的404案例中,做一个建议,就像谷歌所做的那样,即:“你的意思是?如果是这样,请单击链接”。
/action/story-name-action/
这是一项艰苦的工作,但它既有趣又显示了您的技能。很少有网站这样做(实际上我只知道谷歌)。
这是我的法语表上的一个演示,可以给你一个关于它是如何工作的概述:
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>