2011-04-26 113 views
0

如何使用mod_rewrite設置語言(en,da,de等)?如何設置語言

的所有文件都位於同一目錄

URL設置語言

?set_lang=da 

改寫:

www.domain.com/en/index.php      => www.domain.com/index.php?set_lang=en 
www.domain.com/en/another_page.php?cat=black => www.domain.com/another_page.php?set_lang=en&cat=black 

www.domain.com/da/index.php      => www.domain.com/index.php?set_lang=da 
www.domain.com/da/another_page.php?cat=black => www.domain.com/another_page.php?set_lang=da&cat=black 

編輯:

我的.htaccess看起來像這樣

RewriteCond %{HTTP_HOST}  ^domain\.net$ [NC] 
RewriteRule ^(.*)$    http://www.domain.net/$1 [L,R=301] 

RewriteCond %{HTTP_HOST}  ^www\.domain\.net$ [NC] 
RewriteCond %{REQUEST_URI}  !^/_domain\.net/ [NC] 
RewriteRule ^(.*)$    /_domain.net/$1 [L] 

RewriteCond %{HTTP_HOST}  ^(demo|mysql|secure)\.domain\.net$ [NC] 
RewriteCond %{REQUEST_URI}  !^/_domain\.net/_(demo|mysql|secure)/ [NC] 
RewriteRule ^(.*)$    /_domain.net/_%1/$1 [L] 

RewriteCond %{HTTP_HOST}  domain\.net$ [NC] 
RewriteCond %{REQUEST_URI}  !^/_domain\.net/ [NC] 
RewriteRule ^(.*)$    http://www.domain.net/$1 [L,R=301] 

回答

0

我找到了解決辦法

RewriteCond %{HTTP_HOST}  domain\.net$ [NC] 
RewriteCond %{REQUEST_URI}  ^/(da|en)/(.*)(\?%{QUERY_STRING})?$ [NC] 
RewriteRule ^(.*)$    /%2?%{QUERY_STRING}&set_lang=%1 [L]