2012-08-19 164 views
0

我只是想改写语言(而已):连接>郎/ EN,ES>郎/ ES ...等阿帕奇重写简单规则

http://domain.com/en > http://domain.com/lang/en 
http://domain.com/es > http://domain.com/lang/es 
http://domain.com/en/places?User=1 > http://domain.com/lang/en/places?User=1 
http://domain.com/es/places?User=1 > http://domain.com/lang/es/places?User=1 

我现在.htacces是:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteRule ^en(.*)$ lang/en$1 [NC,L] 
RewriteRule ^es(.*)$ lang/es$1 [NC,L] 

请问,对吗? 我看到最终的网址:http://domain.com/lang/en/places?User=1,我希望浏览器显示http://domain.com/en/places?User=1。这可能吗?

非常感谢!

+1

没有什么能够重定向浏览器,您可能正在访问目录或者apache认为是目录,并将您重定向到尾部斜线。您确定浏览器地址栏中显示的网址不是以斜线结尾吗? – 2012-08-19 22:19:31

回答

0

你想浏览器显示原始URL?它需要“直通”。尝试将“[NC]”更改为“[PL]”

+0

感谢您的回复@hongtium! 我的疑问是,如果这个htaccess适用于这个简单的规则。 [PL]返回一个内部服务器错误:O – user512663 2012-08-19 10:02:34

+1

@ user512663,这是因为没有标志叫做'PL',它是'PT',但这甚至不是你想要的,因为它只把URI放回管道。 – 2012-08-19 22:17:18