2013-05-07 2 views
0

Я использую разные языки для своего сайта. Таким образом, структура очень проста:

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 => загрузки template_404.php от корня и эхо из неправильного URL.

Теперь проблема в том, что я хотел бы иметь чистый URL-адрес, например example.com/langauge_xy/(language_xy)404.php. То почему я не хотел использовать $_GET для того чтобы послать введенный URL к (language_xy)404.php. Я думал, что могу сохранить введенный URL на СЕССИИ на 404.php и просто выкрикнуть на template_404.php. В первый раз это работает, но при перегрузке страницы по какой-то причине содержимое СЕССИИ изменилось. Я понятия не имею, почему это происходит. $_SESSION['url'] используется только один раз.

Так что если есть кто-то, кто может дать мне подсказки о том, как решить эту проблему, я действительно был бы признателен.

Спасибо большое.

ответ

0

Вы могли бы сделать это так, или вы могли бы создать языковой файл, и с одним файлом 404.php вы могли бы обслуживать различный контент на основе языка в сеансе.

Найти язык пользователей: detect user language in PHP - stable solution

переключения Язык: Am I breaking any "php good practice" in the following php array which deals with 3 (human) languages?

Смежные вопросы