0

我为我的网站使用不同的语言。所以结构很简单:

root / => 404.php
       => template_404.php

root/subdir/ =>(language_xy)404.php 

404.php在我的 htaccess 文件中,如果找不到页面,我会使用重定向。

404.php$_SERVER['REQUEST_URI']用来获取将回显给用户的输入地址。

根据默认浏览器语言,404.php将重定向到包含语言文件的子目录文件夹。

所以它是这样的:

输入了错误的 URL => 重定向到404.php=> 读出 URL 和默认语言 => 重定向到语言方向=>从根(language_xy)404.php加载并回显错误的 URL。template_404.php

现在的问题是我想要干净的 URL 之类的example.com/langauge_xy/(language_xy)404.php. 这就是为什么我不想使用$_GET将输入的 URL 发送到(language_xy)404.php. 我想我可以将输入的 URL 保存到 SESSION on 中404.php,然后简单地回显 on template_404.php。这是第一次工作,但由于某种原因重新加载页面时,会话的内容发生了变化。我不知道为什么会这样。$_SESSION['url']只使用一次。

因此,如果有人可以给我有关如何解决此问题的提示,我将不胜感激。

非常感谢。

4

1 回答 1

0

您可以这样做,或者您可以创建一个语言文件并使用一个 404.php 文件,您可以根据会话中的语言提供不同的内容。

查找用户语言:在 PHP 中检测用户语言 - 稳定的解决方案

语言切换:我是否在以下处理 3 种(人类)语言的 php 数组中破坏了任何“php 良好实践”?

于 2013-05-07T09:46:53.157 回答