【发布时间】:2013-05-01 05:19:39
【问题描述】:
我的网站使用不同的语言。所以结构很简单:
root / => 404.php
=> template_404.php
root/subdir/ =>(language_xy)404.php
在我的 htaccess 文件中,我使用重定向到 404.php 以防找不到页面。
在404.php 中,我使用$_SERVER['REQUEST_URI'] 获取输入的地址,该地址将回显给用户。
根据默认浏览器语言,404.php 将被重定向到包含语言文件的子目录文件夹。
原来是这样的:
输入了错误的 URL => 重定向到 404.php => 读出 URL 和默认语言 => 重定向到语言方向 (language_xy)404.php => 从 root 加载 template_404.php 并回显错误的 URL。
现在的问题是我想要像 example.com/langauge_xy/(language_xy)404.php 这样的干净 URL。这就是为什么我不想使用$_GET 将输入的URL 发送到(language_xy)404.php。我想我可以将输入的 URL 保存到 404.php 上的 SESSION 中,然后在 template_404.php 上简单地回显。这是第一次工作,但是由于某种原因重新加载页面时,会话的内容发生了变化。我不知道为什么会这样。 $_SESSION['url'] 只使用一次。
因此,如果有人可以就如何解决此问题给我提示,我将不胜感激。
非常感谢。
【问题讨论】:
标签: php html error-handling http-status-code-404