簡體   English   中英

.htaccess用於語言檢測

[英].htaccess for language detection

我需要使用虛擬URL來處理帶有文件夾或子文件夾的語言

www.example.com/en/xxx/
OR www.example.com/xxx/en
OR www.example.com/xxx/xxx/en

並且所有人都一樣?lang=en

這是可能的 ?

謝謝

我測試了這個subdomaine

RewriteRule ^(.+)/$ /index.php?a=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ /index.php?a=$1 [QSA,L]

# language
RewriteCond %{HTTP_HOST} !^(www.)?example.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.+).example.com$
RewriteRule ^(.*)$ $1?ln=%1 [QSA,L]

RewriteCond %{HTTP_HOST} ^(.+).example.com/$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

用PHP工作

$url = explode('/', $_GET['a']);
if(in_array('fr', $url)) {
$language = 'fr';
}
elseif(in_array('it', $url)) {
$language = 'it';
}
else {
$language = 'en';
}

那么這個具體的例子呢。

example.com/xxx/en我需要index.php?lang = en&a = xxx

你可以使用這樣的規則。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/en/?$ /index.php?lang=en&a=$1 [L,QSA]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM