.htaccess добавить скрытую переменную php get для выбора языка - PullRequest
0 голосов
/ 06 апреля 2010

У меня многоязычный веб-сайт, и я использую переменную php get, чтобы установить cookie для языковой настройки. У меня есть несколько подпапок (http://www.site.com/es и http://www.site.com/de), каждая из которых имеет соответствующий файл .htaccess. При доступе к этим папкам файл .htaccess делает это, чтобы «молча» перенаправить пользователя и добавить соответствующую переменную php:

-------
Options +FollowSymlinks
RewriteEngine on
RewriteOptions MaxRedirects=10
rewriterule ^http://www.site.com/es/$ http://www.site.com/?l=es [P,R=301]
rewriterule ^(.*)$ http://www.site.com/$1?l=es [P,R=301]
-------

Когда кто-то получает доступ к корневому каталогу: http://www.site.com, Я хочу добавить суффикс ?l=en «молча» к URL. Как я могу это сделать? Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 апреля 2010

Я думаю, что если вам нужно фиксированное значение, это идеально возможно с чем-то вроде этого:

rewriterule ^http://www.site.com/$ http://www.site.com/?l=en ...

Я не могу проверить результат, потому что сейчас меня нет дома.

0 голосов
/ 06 апреля 2010

Я не думаю, что это возможно в методе, который вы хотите.

Тем не менее, вы можете (в несколько раз) изменить свой код:

RewritRule ... proxy_add_l.php

В котором код будет:

<?php
$_GET['l'] = $_REQUEST['l'] = 'en';
require 'index.php';
?>

Обратите внимание, что это действительно очень плохо и должно использоваться только как последнее средство.

Разве вы не можете просто перенаправить их в / en, который выглядит чище?

...