需要一些专业人士的帮助如何重定向旧的或无效的网址

需要一些专业人士的帮助如何重定向旧的或无效的网址

我最近升级了一个网站,几乎所有的 URL 都发生了变化。我已经重定向了所有 URL(或者我希望如此),但可能有些 URL 被我忽略了。有没有办法以某种方式捕获所有无效 URL 并将用户发送到某个页面,并以某种方式知道该用户来自哪个 URL,以便我可以记录此问题并修复这些问题?我想我可以以某种方式使用 .htaccess,但不确定如何使用。我正在使用 PHP 非常感谢!

错误文件已经在 .htaccess 中,但似乎没有什么改变,您可以看到下面的错误文件

AddHandler application/x-httpd-php5s .php
ErrorDocument 404 /content/404.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

要查看问题,我想要的结果是,如果有人输入了错误的网址,我需要一些东西来重定向,只需检查链接,即使你删除网址末尾的一半位置,它仍然会打开 http://adsbuz.com/classifieds/阿布扎比-uae/

它应该转到错误页面,但它没有,我需要某种力量将它推到错误页面,谢谢

答案1

您可以创建自定义 404 文件。假设您使用的是 Apache,则需要将以下行添加到 .htaccess 中

ErrorDocument 404 /errorfilename.php

这段代码基本上告诉服务器,如果用户遇到 404(页面未找到)错误,则显示 errorfilename.php。

在这个 PHP 文件中,你可以添加代码,当用户访问 404 页面时向你发送电子邮件,或者添加其他逻辑来支持

  • 数据库存储
  • 写入文件/自定义日志
  • 在数据库中搜索文件位置并将用户重定向到新目的地

在 PHP 中,要获取 404 页面的位置,可以使用以下全局变量

$_SERVER['HTTP_REFERER']

404.php 页面示例

<?php
$referer = $_SERVER['HTTP_REFERER'];
//this is where you would either email yourself the $referer, 
//insert it into a database or perform more complex operations.
?>
<html>
<head>
<title>404</title>
<body>
Sorry, the page you are looking for has been moved/deleted.<br>
The system administration has been notified of this error.<br>
<a href="index.php">Go to Homepage</a>
</body>
</html>

相关内容