2011-08-24 104 views
0

我有一個mod重寫的問題,並沒有在這裏找到任何解決方案。這裏的問題是:多語言網站mod重寫問題

我有網站用兩種語言和MOD URL應該是這個樣子:

/eng/contact 
/srp/kontakt 

/eng/news 
/srp/vesti 

/eng/event 
/srp/najava 

礦重寫規則不喜歡這個工作,因爲我在.htacess情況:

# news 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ news.php?lang=$1&pagename=$2 [NC,L] 

# contact 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ contact.php?lang=$1&pagename=$2 [NC,L] 

# event 
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ event.php?lang=$1&pagename=$2 [NC,L] 

我的問題是如何在上面的例子中實現重寫頁面?

回答

2

我會用:

RewriteRule ^([^/]+)/([^/]+)/*$ index.php?lang=$1&pagename=$2&%{QUERY_STRING} 

,然後從路線的index.php的PHP流通過使用一些簡單的news.php/contact.php等的switch-case-包括聲明:

switch ($_GET['pagename']) 
{ 
    case 'news': 
     require_once 'news.php'; 
     break; 
    ... 
    ... 
} 

這也將幫助您開發簡化.htaccess文件的其他路由相關功能。這也使得像「EN /接觸」,但子頁面的子頁面的本地名字容易查找「PL/KONTAKT」等

我用這種方法幾乎我所有的網站(例如http://www.calculla.com/en/ascii2hexhttp://www.calculla.com/pl/ascii2hex)。

+0

謝謝。它'有所幫助,但我有一點點更復雜的情況: www.website.com/eng/blog/category/page/1 www.website.com/srp/blog/category/page/1 這不適用於這種情況。 – Siblja