.htaccess为语言选择添加隐藏的php get变量

时间:2010-04-06 19:13:12

标签: php .htaccess variables get

我有一个多语言网站,我使用php get变量来设置语言设置的cookie。我有多个子文件夹(http://www.site.com/eshttp://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后缀。我怎么做?感谢。

2 个答案:

答案 0 :(得分:0)

我认为你想要的方法不可能。

但是,您可以(以一种方式)修改您的代码:

RewritRule ... proxy_add_l.php

其中,代码将:

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

请注意,这确实非常非常糟糕,并且应该仅作为最后的手段使用。

你难道不能将它们重定向到看起来更干净的/ en吗?

答案 1 :(得分:0)

我认为如果你想要一个固定值,这是完美可能的,如下所示:

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

我无法测试结果,因为我现在不在家。