3
好吧,我已經浪費了很多時間來解決這個問題,但是我越來越多地嘗試瞭解重寫規則,我越來越不明白髮生了什麼。我需要爲基於codeigniter的項目修復一些重寫規則。Htaccess多語言mod_rewrite
該應用程序是一個基本與模塊,頁面和帖子以及.htaccess
文件一起工作的多語言CMS,我需要檢查url是頁面還是帖子並重定向到適當的控制器。
所以在我.htaccess
文件到目前爲止,我有以下幾點:
#if I'm on the homepage and i have a language id
RewriteCond $1 ^([a-z]{2})/?$
RewriteRule ^(.*)$ index.php?homepage/index/$1 [PT,L]
#if module - this works ok when there is no language id
RewriteCond $1 ^(gallery|post|products)
RewriteRule ^(.*)$ index.php?$1 [PT,L]
# Rewrite all other URLs to index.php/URL - page controller
RewriteRule ^(.*)$ index.php?page/show/$0 [PT,L]
通過上面的代碼,如果我進入
http://mydomain.com/gallery/something/9
一切都很好,很正常,DUT如果我添加一個語言ID像這樣:
http://mydomain.com/en/gallery/something/9
它不工作了,我找不到頁面/ 404錯誤或從頁面控制器(在.htaccess結尾重定向)。
所以我們可以說,我有網址,可以是這個樣子:
http://mydomain.com/gallery/something/9
http://mydomain.com/en/gallery/something/25
http://mydomain.com/fr/post/something/31
我必須將這些網址莫名其妙地重定向到
http://mydomain.com/gallery/something/9
http://mydomain.com/en/gallery/somethingelse/25
http://mydomain.com/fr/post/somethingelse/31
注意,有時我有語言ID,有時我不。 這是我應該用htaccess做的事情嗎? Codeigniter路由是更好的選擇嗎? 感謝您的幫助堆棧溢出:)
感謝努力幫助,我已經成功地在某種程度上有種使其與在此期間笨路線工作。我已經試過你的代碼,並且它有部分工作,語言ID仍然給我帶來問題。我已經決定CI路由是足夠好的...現在:)。再次感謝 –