繁体   English   中英

.htaccess-从子目录重定向到根目录,并记住在环境中请求的路径

[英].htaccess - redirect from subdirectory to root directory and remember in enviroment requested path

我对语言文件夹的mod_rewrite规则有一些困难。 我想将www.example.com/lang/*上的任何请求重写为:www.example.com/*

我添加规则

RewriteRule ^lang/(.*)$ \/$1

当我使用多种语言时,我想保存在环境中,而在网站的第一个网站中输入的正是URL中的语言。

我还使用规则

SetEnvIf Referer "www.example.com/lang1/" LANG=1
SetEnvIf Referer "www.example.com/lang2/" LANG=2

所以我在现场展示语言

但是,在浏览器中输入地址www.example.com/lang1/时,我无法获得此环境

由于这是内部重写(使用新路径代替旧路径),因此与客户端之间没有通信,因此也没有新的Referer集。

但是使用引用程序始终是不可靠的。 考虑修改RewriteRule,使其在查询字符串中包含原始请求URI。

这将是

RewriteRule ^lang/(.*)$ \/$1&uri=%{REQUEST_URI}

如果您的请求包含查询字符串,并且

RewriteRule ^lang/(.*)$ \/$1?uri=%{REQUEST_URI}

如果不。 然后,原始URI将包含在变量$_GET['uri']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM