作者 主題: .htaccess 的rewrite語法  (閱讀 958 次)

0 會員 與 1 訪客 正在閱讀本文。

rottonkid

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
.htaccess 的rewrite語法
« 於: 2013-09-04 09:59 »
請教各位大大們一個問題

我的網站的是用MVC架構,網址URL長的像這樣 :  ABC.com/index.php/zh_TW/front/product
我希望用rewriterule的方式縮短網址,變成 ABC.com/zh_TW/product

因為程式運作是分析url, 所以我在網站的apache的conf檔上寫了以下這段:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^/index.php/(.+)/frontend/(.+)$ /$1/$2 [R=301,NE]
RewriteRule ^/zh_TW/(.+)$ /index.php/zh_TW/frontend/$1 [L,NE]

第一個rule是讓他變成我要的URL,第二個rule是要讓/zh_TW/product 實際讀取的是/index.php/zh_TW/front/product
以上寫在conf檔裡面  執行OK,也是我想要的結果

但是當我把這段移到網站跟目錄.htaccess去的時後,就無效了,也就是他不會導向(PS確定.htaccess有開啟)

反覆測試之後 ,我拿掉下面紅色的 / 結果有重新導向了 ,但是瀏覽器回應"發現有重複導向的迴圈"這個錯誤

RewriteEngine on
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^/index.php/(.+)/frontend/(.+)$ /$1/$2 [R=301,NE]
RewriteRule ^/zh_TW/(.+)$ /index.php/zh_TW/frontend/$1 [L,NE]

想請大大們幫忙看看,到底是哪裡出了錯誤?