如何使用htaccess将子域重定向到带有$ _GET的php文件?
例如
en.domain.com => domain.com/index.php?lang=en
答案 0 :(得分:4)
将这些指令放入根文件夹中的 .htaccess :
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} =en.domain.com
RewriteRule .* http://domain.com/index.php?lang=en [QSA,R=301,L]
此规则会将{301}永久重定向从en.domain.com
子域中的任意网址重定向到此网址:http://domain.com/index.php?lang=en
- 这正是您提出的问题。
<强>更新强>
此规则将采用子域并将其作为lang
参数传递给index.php。现在规则支持2种语言: en (英语)或 fr (法语)。编辑此片段(en|fr
)以添加/更改语言。
RewriteCond %{HTTP_HOST} ^(en|fr)\.domain\.com [NC]
RewriteRule .* http://domain.com/index.php?lang=%1 [QSA,R=301,L]
此规则将从 ANY 子域重定向(可以是任何内容,甚至是jhjaghj77.domain.com
)。我不知道你会有多少种语言..但我建议使用之前的选项(当你手动指定所有可能的语言时)。
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.domain\.com [NC]
RewriteRule .* http://domain.com/index.php?lang=%1 [QSA,R=301,L]
答案 1 :(得分:-1)
当在apache上启用mod_rewrite时,此代码有效。