如何在url的开头使用语言标识符

时间:2015-09-04 11:31:26

标签: php url multilingual

我正在使用:http://localhost/en/index.php来说明当前网站的语言。

但是,我正在寻找一种方法:http://en.localhost/index.php

也许某些网络服务器配置或框架会有所帮助。

经过我所有的研究后,我无法找到解决方案。 谢谢你,祝你有个愉快的一天。

1 个答案:

答案 0 :(得分:2)

如果使用wildcard域配置,则可以执行许多选项。假设您在DNS中有以下条目:

*.example.com    127.0.0.1
example.com      127.0.0.1

这会将example.com下的所有域和子域重定向到一个位置。这样的事情也可以在Apache中配置。

ServerName   example.com
ServerAlias  *.example.com

他们都去了同一个地方。在PHP中,您可以使用:

$lang = str_replace(".example.com", "", $_SERVER["HTTP_HOST"]);

根据$lang中的变量,您可以制作它。如果您想为localhost执行此操作,则需要以这种方式设置Apache指令:

<VirtualHost *:80>
    ServerAdmin me@localhost.com
    DocumentRoot "C:/www"
    ServerName localhost
    ServerAlias *.localhost
    <Directory "C:/www">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Allow,Deny
        Allow from all
    </Directory>
</VirtualHost>