多语言.htaccess重写

时间:2011-03-15 10:34:21

标签: .htaccess mod-rewrite rewrite multilingual

我正在寻找推出多语言网站并需要一些.htaccess工作。

我希望能够访问example.com并点击/index.php。

但是我也想掩饰我的替代语言网站看起来像example.fr并点击/lang/fr/index.php,并在整个网站导航中坚持这一点。

这可能吗?

干杯!

1 个答案:

答案 0 :(得分:1)

假设您正在使用具有多个ServerAliases的单个VirtualHost,您可以将RewriteCond与%{HTTP_HOST}变量一起使用,以将重写规则应用于特定域。

如果您已经在重写网址以便为.com提供更友好的网址路径,那么以下内容应该有效:

# French rewrites
RewriteCond %{HTTP_HOST} example.fr
RewriteRule ^(.*)$ /lang/fr/index.php/$1 [L]

# Fallback to .com
RewriteRule ^(.*)$ /index.php/$1 [L]

您可能需要添加额外的RewriteCond行以避免重写对images / css等的请求。