2011-01-26 68 views
2

我試圖使用.htaccess的規則和條件,但不知道如何做我需要的。網站語言 - htaccess重寫規則

這裏是場景:

我有一個網站有很多語言。 (EN | ES | PT)

我想用這樣的URL:

www.site.com/home/ 
(original url): www.site.com/index.php?p=home 
(opens home.php - session language) 

而像這樣:

www.site.com/en/home/ 
(original url): www.site.com/index.php?l=en&p=home 
(opens home.php - en language) 

什麼是我需要創建到eules /條件檢測網址中的語言?

TIA


SOLUTION:

RewriteRule ^(en|es|pt)?\/?([a-z0-9A-Z,_-]+)\/?$ index.php?l=$1&p=$2 [QSA,L] 

感謝

注: 「目前的解決方案確實也讓像/ enfoobar被改寫到的index.php? l = en & p = foobar因爲/獨立於語言指示符「 - Gumbo

+0

mod_rewrite可能不完全是這個答案。看看http://httpd.apache.org/docs/2.2/content-negotiation.html - 這可能比試圖使用mod_rewrite更有幫助。 – Andrew 2011-01-26 21:31:00

+0

謝謝,我會檢查它。 – paulogoncalvs 2011-01-27 11:05:24

回答

1

你也許可能使用類似這樣

RewriteEngine on 
RewriteBase/

RewriteRule ^(en|es|pt)/(.*) /index.php?l=$1&p=$2 [QSA,L] 
0

對於任何2digits字符的語言

選項+的FollowSymLinks RewriteEngine敘述上 重寫規則^ [A-ZA-Z] [A-ZA-Z] /index.html$ index.html?language = $ 1 RewriteRule^index.html $ /index.php [L]