【发布时间】:2014-02-12 11:03:24
【问题描述】:
我使用以下规则进行语言翻译。
两者都可以正常工作:
RewriteRule ^([a-z]{2})/?$ /index.php?act=setlang&val=$1 [L,CO=LANG:$1:%{HTTP_HOST}]
RewriteRule ^([a-z]{2})/([a-zA-Z0-9-]+)\.php$ $2.php?act=setlang&val=$1 [L,CO=lang:$1:%{HTTP_HOST}]
所以去 www.mysite.com/en/test.php 这按预期工作。
但是,如果我将基本 URL 从 mysite.com tomysite.com/(2letterlangcodehere) 更改为
这样所有链接都会自动带有 lang 前缀,然后一切都变得混乱(我认为这是由于相对路径,因为正在寻找 mysite.com/(2letterlangcodehere) 下显然不存在的某些资源,因为我没有物理创建文件夹)。
我怎样才能让 mysite.com/(langcodehere) 在视觉上出现并执行上面的规则,但本质上这个文件夹只是指向 mysite.com/ 的脚本、css、源代码透视图是可能的。 htaccess ?
【问题讨论】:
标签: php apache .htaccess mod-rewrite redirect