我有一個這種結構的多語言網站http://www.url.com/en/
,http://www.url.com/it/
,http://www.url.com/pt/
等 我現在的問題是,當你訪問鏈接url.com我會有3個重定向。重定向網站內部鏈接
- 要
http://url.com
- 要
http://www.url.com
- 爲
http://www.url.com/en/
我該怎麼做纔能有只有2個重定向?如果你訪問http://url.com
重定向到http://www.url.com/en/
在我的htaccess文件中我有這樣的路線。
RewriteCond %{HTTP_HOST} ^url.com [NC]
RewriteRule ^(.*)$ http://www.url.com/$1 [L,R=301]
這一個從url.com重定向到http://www.url.com
。在此之後被重定向一個PHP腳本文件識別的域名並再次將其重定向到/ EN/
$url= strpos($_SERVER['REQUEST_URI'],"/".$lang."/");
if($url!==0){ Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.url.com/en/"); }
之後,我有一些條件來檢查,如果你是在另一種語言。
if($lang == "pt"){$langcheck = "pt"}
我的鏈接的創建是這樣的:
RewriteRule ^([_A-Za-z0-9-]+)\/$ index.php?page=index&lang=$1 [L]
所以我應該在htaccess的寫來解決這個每種語言。因爲如果我將RewriteRule更改爲url.com/en/
,則其他語言不再有效。
我很抱歉,我不能,你如何讓語言得到它,你怎麼重定向。 –
當您進入url.com時,如果URL與url.com/en/不同,我會檢查functions.php。如果不同,我將重定向到URL url.com/en/。只有在訪問鏈接url.com時纔會出現此情況,但如果您輸入url.com/it/,則會看到另一種語言。我的問題是當您訪問url.com時(我希望首次將其重定向到url.com/en/,而不是www.url.com,然後再轉到www.url.com/en/。 –