2015-09-04 23 views
-5

我正在使用:http://localhost/en/index.php來確定當前的網站語言。如何在網址開頭使用語言標識

但是,我在尋找一種方法,這樣做:http://en.localhost/index.php

也許一些網絡服務器配置或框架將幫助。

畢竟我的研究之後,我無法找到解決方案。 謝謝你,祝你有美好的一天。

+0

它取決於你如何使用創建的子域名或網址 –

+0

這是過於寬泛回答添加額外的參數,但你必須首先在您的域上設置DNS通配符,然後使用URL重寫來實現該功能。 – Ahmad

+0

對不起,我從不知道從哪裏開始。這就是爲什麼它是廣泛的,如果我有一些提示,我不是在這裏問,而是在研究。我從來沒有要求爲我寫一篇教程,只是一些可以支持我的研究的小貼士。謝謝。 – Vladimir

回答

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 [email protected] 
    DocumentRoot "C:/www" 
    ServerName localhost 
    ServerAlias *.localhost 
    <Directory "C:/www"> 
     Options Indexes FollowSymLinks 
     AllowOverride all 
     Order Allow,Deny 
     Allow from all 
    </Directory> 
</VirtualHost> 
+1

謝謝你幫助我,主要是爲了不散佈我的無知。如果我能,我會給你更多的分數。 – Vladimir

+0

@Vladimir一切順利。很高興我能幫上忙。有一次我也是這樣。 –