php - 将 404 文档转换为“路由”脚本 - 如何设置 HTTP 代码?
问题描述
我正在考虑将我的 404 文档转换为“路由”脚本。这是因为我对 PHP 比 mod_rewrite 更有信心(而且我很确定我的主机使用的 Apache 版本远非标准),然后我可以使用 404 文档中的 PHP 代码处理 404 请求.
如果我重定向到正确的页面,这会令人满意。
但是,如果我尝试显示 404 文档中的一些内容,并且至关重要的是,将 HTTP 状态代码从 404 更改回 200,它就不起作用了。状态码始终以 404 发送。即使我使用 PHP 函数 http_response_code(200) 尝试设置它。
所以,我的问题是,有没有办法从 ErrorDocument 中设置响应代码?
解决方案
这并不是一个真正的直接答案,但这非常有效。这是一些你可以添加到根目录中的 .htaccess 的 mod_rewrite ,它会将所有请求发送到 .router.php 脚本:
RewriteEngine On
RewriteBase /
RewriteRule ^.+$ .router.php [L]
然后,您可以检查 $_SERVER['REQUEST_URI'] 变量以确定请求的内容并采取适当的行动。
推荐阅读
- react-native - 使用 FlatList 在 React Native 中创建轮播
- sql - MySQL DELETE post_content 从除特定类别之外的所有帖子中删除
- python - Python pyPFD2 PDF 裁剪页面并合并为单页
- javascript - 反应:无法过滤组件列表
- php - 从永久链接中过滤特殊字符,即 domain.com/?p=c%3A%2F
- r - 滑动窗口意味着与 dplyr & zoo
- sharepoint - 使用共享点代码将文件下载到我的文档文件夹,现场收到 403 禁止错误
- python - StackingRegressor 的问题
- r - 2x2 马赛克视口错误:未找到单元格
- javascript - 带有 Vue 3 的 Vuefire 抛出 Vue.use 错误