捕获所有无效 URL

2023-12-31

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


您可以使用自定义ErrorDocument http://httpd.apache.org/docs/2.2/en/mod/core.html#errordocument用 PHP 编写的处理程序,用于捕获“漏掉”的 URL:

# .htaccess file
ErrorDocument 404 /not-found.php

And in not-found.php:

switch($_SERVER['REDIRECT_URL']) {
    case '/really_old_page.php':
        header('HTTP/1.1 301 Moved Permanently');
        header('Location: /new-url/...');
    /*  As suggested in the comment, exit here.
        Additional output might not be handled well and
        provokes undefined behavior. */
        exit;
    default:
        header('HTTP/1.1 404 Not Found');
        die('404 - Not Found');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

捕获所有无效 URL 的相关文章

  • 如何从父类中获取子类名

    我试图在不需要子类上的函数的情况下完成此任务 这可能吗 我有一种感觉 但我真的很想确定
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 将混合内容重定向到 HTTPS 的正确 htaccess 规则是什么

    当通过 HTTPS 访问网站时 是否有一种方法可以使用 htaccess 重定向条件和重定向来捕获通过 HTTP 调用的内容 如果通过 HTTPS 访问网站 http 内容将被重定向到 https 等效 url 本质上 当我的网站通过 HT
  • 获取 YouTube 最高缩略图分辨率

    我想获得 youtube 最高缩略图 maxresdefault jpg 像这个 http i ytimg com vi Cj6ho1 G6tw maxresdefault jpg http i ytimg com vi Cj6ho1 G6
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • Mod_Rewrite 将子域和目录设置为 GET 变量

    我编写了一个想要多语言的网站 应该可以通过子域访问不同的语言 例如 en example com de example com 等 此外 我已经重写了将 目录 设置为 GET 变量 将 example com name 更改为 exampl
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC

随机推荐

  • 将 Python 列表写入 csv 文件

    我有一长串以下形式的清单 a 1 2 abc 3 1 2 werew 4 1 4 qew 2 即列表中的值具有不同类型 float int string 如何将其写入 csv 文件 以便我的输出 csv 文件看起来像 1 2 abc 3 1
  • 解码和重建后无法安装.apk(Apktool、Apkstudio)

    我用以下命令解码了 apk 文件apktool我没有改变任何东西 之后 我再次构建它 然后尝试安装 apk 但即使在进行一些基本更改后 我仍收到以下错误 我使用 Windows 做了什么cmd apktool d somename apk
  • 如何在ASP.NET中使用jQuery同时触发OnClick和OnClientClick事件?

    我试图在回发期间显示消息栏 我正在使用网上找到的 jQuery 脚本here http www andreyvoev com programming jquery plugin messagebar 一切都单独工作得很好 但是当 jQuer
  • StaleElementReferenceException:元素不再附加到 DOM:Selenium

    我对自动化测试完全陌生 在参考了一些教程后 我创建了一个自动化测试用例 我尝试自动化的测试用例是在单击表格标题之一后检查排序是否正确 我的自动化测试用例失败 但出现以下异常 org openqa selenium StaleElementR
  • 单击锚链接时保持 URL 不受影响

    我已经检查过这里的其他帖子 没有我正在寻找的结果 我想点击 a href about About a div Content of this div 并让它滚动到该元素 而不将 www domain com about 放入地址栏中 作为一
  • SharePoint Foundation 2013 无法安装在 Windows 8.1 或 Windows Server 2012 R2 上

    当我尝试在 Windows Server 2012 r2 上安装 Team Foundation Server 2013 的 SharePoint 扩展时 出现此错误 SharePoint Foundation 2013 无法安装在 Win
  • 进度对话框 UI 冻结/缓慢

    我有一个进度对话框 用于程序中的一部分 在后台执行时间密集型操作 但当显示该对话框时 UI 或微调器图标冻结 缓慢 犹豫 使程序看起来好像冻结了 在我的onPostExecute of my AsyncTask我关闭对话框 既然我在后台完成
  • Jackson InvalidDefinitionException:无法构造实例,因为找不到默认的无参数构造函数

    我有一个使用 Spring Boot 提供 REST 功能的应用程序 我在将 POST 响应反序列化为 POJO 时遇到问题 例外情况如下 org springframework http converter HttpMessageConv
  • 将字段添加到 Woocommerce 注册表单并在管理编辑用户中

    在 WooCommerce 中 我在帐户注册表单中添加了额外的字段 1 ADD FIELDS add action woocommerce register form start add woo account registration f
  • system()的返回值不是执行程序的返回值

    我想执行一个可执行文件 其 main 返回 2 使用system 这就是我所做的 include
  • 无法添加服务引用 - 锁定/只读

    每当我去添加服务引用时 我都会收到错误 无法添加服务引用 Servicereference1 reference 错误 无法签出当前文件 该文件可能是只读的或锁定的 或者您可能需要手动检出该文件 我的项目中已经有一个服务引用 但它以某种方式
  • 如何通过 iPhone 中的 Graph API 在 facebook 上“点赞”和“评论”?

    我正在使用 graph api 显示新闻源 我对以下问题有疑问 我想为每个新闻提要帖子提供 喜欢 功能 我想为每个新闻提要帖子提供 评论 功能 有人可以帮助我如何使用 iphone 中的图形 api 解决这个问题吗 请参考我这里的回答 如何
  • 如何识别ODF文件?

    我需要能够根据文件的内容而不是文件的扩展名来识别给定文件是 ODF 文件 ODF 文件实际上是 zip 容器中 XML 文件的集合 这意味着我无法使用该文件的幻数 因为它只会表明它是一个 zip 文件 所以我真正要问的是是否有任何文件req
  • 如何检测USB键盘是否插入和拔出

    当 USB 键盘从电脑上插入和拔出时 是否有任何守护进程 工具会触发一些信号 事件 我需要在程序中知道 USB 键盘何时插入和拔出 关于如何做到这一点有什么想法吗 udev Linux 设备管理器 是轮询硬件的管理器 当它检测到有关设备的某
  • 带有 Qt::AlignCenter 的 QPainter 无法正确居中文本

    我想做一个相当简单的绘图 在圆的中心写下两段文字 我的代码 painter gt drawText QRectF 0 0 m iSize m iSize Qt AlignCenter m sAlias n m sCode where m i
  • 会话路由#destroy 操作

    我链接到会话控制器的销毁操作 如下所示 路线 rb resources sessions only new create destroy Rails 对上面的链接进行了抱怨 没有路由匹配 action gt destroy controll
  • 使用 Linq 动态添加条件连接

    我有一个基本的搜索控件 它根据下拉列表提供的预定义搜索 过滤条件列出 CRM 中的公司 每个下拉菜单的默认选择是 全部 否则用户将选择特定的项目 我希望能够根据选择动态构建 Linq 查询 在 5 个选择器中 它们提供了我可以与 Compa
  • 使用 MockMvc 测试重定向 URL 的 HTTP 状态代码

    我想使用 MockMvc 在 Spring Boot 应用程序中测试登录过程 成功登录后 用户将被重定向到 home 为了测试这一点 我使用 Test public void testLogin throws Exception Reque
  • 数据结构中的自引用 - 检查相等性

    在我最初尝试创建不相交集数据结构时 我创建了一个Point数据类型与parent指向另一个的指针Point data Point a Point value a parent Point a rank Int 要创建单例集 Point创建它
  • 捕获所有无效 URL

    我最近升级了一个网站 几乎所有 URL 都发生了变化 我已经重定向了所有这些 或者我希望如此 但其中一些可能已经被我忽略了 有没有办法以某种方式捕获所有无效 URL 并将用户发送到某个页面 并以某种方式知道该人来自哪个 URL 以便我可以记