我知道有很多这样的问题,但我仍然无法解决问题。
我正在使用以下 .htaccess 代码来更改语言:
RewriteCond %{HTTP_HOST} ^(en|us)\.domain\.com$
# Create an environment variable to remember the language:
RewriteRule (.*) - [QSA,E=LANGUAGE:%1]
# Now check if the LANGUAGE is empty (= doesn't exist)
RewriteCond %{ENV:LANGUAGE} ^$
# If so, create the default language (=en):
RewriteRule (.*) - [QSA,E=LANGUAGE:en]
# WHATEVER THE LANGUAGE ADD IT TO THE URI:
RewriteRule (.*) $1?language=%{ENV:LANGUAGE} [QSA]
这会添加?language=variable
到地址的末尾。
但由于某种原因,像这样的其余规则会产生内部服务器错误:
RewriteRule ^([0-9]+)/([^/]+)(|/)$ code.php?id=$1&title=$2 [L]
与此类似的简单规则(不添加变量)可以正常工作:
RewriteRule ^stats(|/)$ stats.php [L]
我希望有人能够告诉我问题出在哪里。