gpt4 book ai didi

php - 将 404 重定向到类似的 url

转载 作者:IT老高 更新时间:2023-10-28 23:42:24 26 4
gpt4 key购买 nike

我有一个网站,里面有故事。我可以在多个类别中拥有多种类型的故事,例如:

  • child
  • 浪漫
  • 科幻
  • Action
  • 惊悚
  • 任务

可以使用以下网址访问这些故事:

www.example.com/action/story-name-action/
www.example.com/romance/story-name-romance/

第一个参数 (action) 和第二个参数 (story-name-action) 使用规则使用 .htaccess 重定向。 这部分工作得很好。

最近,我从不同的站点获得了几十个 404,这就是我想做的,但我不知道如何:

如果有人输入,例如:/action/story-nme-ction,我想重定向到:action/story-name-action/

有没有一种有效的方法来实现这一点?

最佳答案

天哪,天哪!

你的要求并不简单,需要你有一台功能强大的电脑,但结果简直太棒了。

以下是我的建议:

  • 为了正确处理 404,您在 vhost 配置中有 ErrorDocument 重定向。我的看起来像这样: ErrorDocument 404/404.php ;
  • 当有 404 时,Apache 将调用 /404.php 并带有所有参数(哪个错误的 URL 等等,转储 $_SERVER 以查看此内容)。您必须测试 URL / 中是否只有两个表达式,即 http://mysite.com/(expr1)/(expr2)/
  • 如果没有,则执行经典的 404。
  • 如果是,则执行 SOUNDEX使用 MySQL 搜索(在您的 404 Php 文件中)。见查询样本here .
  • 然后,在这个“特殊”的 404 案例中,做一个建议,就像谷歌所做的那样,即:“你的意思是 /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>

关于php - 将 404 重定向到类似的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8941433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com