.com / .se / de - 加载相同的主文件夹.htaccess


.com / .se / de - loading same main folder. htaccess

我有4个域名,每个域名都有不同的扩展名(.com/.de/.se/.no)

我希望所有域在我的服务器上加载相同的主网站文件夹,但根据扩展名,网站上的语言会发生变化。

域名不一样。

ostemad.dk
cheeseflavour.com
fromage.fr

这里的问题是什么?您根本不需要任何 .htaccess 样式文件。实际上,无论如何都应该尽可能避免这些文件:它们会大大降低服务器速度,容易出错且难以调试。请改用真实的服务器配置部分:更加清晰和安全。

您只需为每个域

创建一个虚拟主机,并为每个域分配相同的文档根目录。

对于语言切换,您可以依靠 phps 超全局变量并根据请求主机进行切换,或者更优雅地通过 apaches mod_setenvif在虚拟主机定义中设置环境变量。

您可以使用 %1%9 从最后一个条件获取捕获组。你可以做这样的事情:

RewriteCond %{QUERY_STRING} !lang=
RewriteCond %{HTTP_HOST} '.(dk|com|fr)$
RewriteRule ^(.*)$ $1?lang=%1 [QSA,L]

这会从站点名称中选择 dk、com 和 fr,并将其附加到查询中。第一个条件只是为了防止规则无限次匹配。