我一直试图让wikipedia风格的语言的东西工作。所以,英文网址为en.example.com
,法文网址为fr.example.com
......这样做很好,但是我希望管理区域始终默认为基本语言,即不设置LANGUAGE环境变量。我试过添加RewriteCond %{REQUEST_URI} !^admin [NC]
,但它似乎没有效果。RewriteCond排除一个目录和它的子目录
我的mod_rewrite代码如下:
# Handle languages
# Picks up the language code from the browser accept-language parameter
RewriteCond %{HTTP:Accept-Language} ^([a-z]{2}).*$ [NC]
RewriteCond %{HTTP_HOST} !^[a-z]{2}\.[a-z]{2,}\. [NC]
RewriteRule ^(.*)$ http://%1.%{HTTP_HOST}/$1 [R=301]
RewriteCond %{REQUEST_URI} !^admin [NC]
RewriteCond %{HTTP_HOST} ^([a-z]{2})\.[a-z]{2,}\. [NC]
RewriteRule ^(.*)$ - [ENV=LANGUAGE:%1,QSA]
# Redirecting all requests to one script
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\+a-zA-Z0-9,%\(\)\_\ -/]+)$ /index.php [NC,L,QSA]
感谢您的帮助,我敢肯定这件事情非常愚蠢,这是错误,像往常一样。
请尝试将整个GET重新格式化你的'代码'围绕一个代码块 – superfro 2010-11-10 17:09:24
好吧,怎么样...这很奇怪,因为它在预览中看起来很好 – ianbarker 2010-11-10 17:27:06