【发布时间】:2017-05-29 15:29:28
【问题描述】:
我网站的所有页面都可以通过 2 个 URL 访问:一个是普通英语,一个是 IDN。示例:
www.example.com/examplepage
пример.рф/примерстраницы
在服务器上我只有英文文件,所以我决定在 php 中创建 2 个数组:
$realUrl=array('examplepage');
$fakeUrl=array('примерстраницы');
并检查 404.php 文件:如果用户从 $fakeUrl 数组请求 url - 我只包含来自 $realUrl 的页面并将 http 状态代码更改为 200(没有重定向,所以他在地址栏中看到他的 IDN 请求)。这是一个好方法吗?一切正常,但我无法更改此类页面的响应代码,我都尝试过:
header("HTTP/1.1 200 OK");
http_response_code(200);
但响应码仍然是 404。
【问题讨论】:
-
您应该将所有流量重定向到“正常”页面并在那里分析/处理请求,而不是使用 404 页面。
-
@jeroen 但我想维护请求网址。哦。另一种方法是从 $fakeUrl 数组中创建所有文件并在其中使用 include .. :(
-
您应该维护请求的 url。看看 url 重写,这样你就可以将所有到不存在页面的流量引导到一个脚本,并根据请求的 url 处理那里的请求。
标签: php http-status-code-404 http-status-codes