看板 PHP 關於我們 聯絡資訊
CakePHP 的 URI,可以被解譯成為 M,V,C 及參數 灌好了,手冊就教我要這麼看 可是不了解細節還是有點不舒服 請問這是怎麼做到的呢? 如果想像我來做,那就必需 Apache 不以檔案架構來尋檔 (但我直覺它就是以檔案架構尋檔,所以會回應我錯誤;檔案不存在) 並且 Apache 願意把 URI 塞進一個字串變數裏 傳給一個我指定的程式 (比如 PHP) 讓我去 parsing 那我就有機會把 URI 切割成參數,並且重組,重導向 這個是不是 .htaccess 在做的呢? 不過它的文件真是看不懂 有沒有先進可以再縮小一些範圍,謝謝 ;; 試出來了,是 XD RewriteRule (.*) app/webroot/$1 [L] 比如這一行,可以把 http://localhost/cake/test.txt 重導向到 http://localhost/cake/app/webroot/test.txt 說明文件在 http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule 不過我看不懂一些細節 只能悶著接受了 ;; 試解 ( ) Grouping of text,文件中的'RHS'看不懂 總之是說可以在代換字串中用 $N 來表達 . 任何單字 * 前置字串的第 0 or N 個 所以我很勉強的把 (.*) app/webroot/$1 解釋成 任何檔名都重導至 app/webroot 下 至於 [L] 則找不到解釋 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.65.16 ※ 編輯: HuangJC 來自: 61.219.65.16 (06/12 12:35)
ybite:[L] means "last rule", 就在同一份文件裡面 06/12 17:01
ybite:簡單來講MVC framework通常是用mod_rewrite把網址導向 06/12 17:01
ybite:到index.php,路徑會變成index.php的一個參數 06/12 17:07
ybite:所以程式可以這樣work。CakePHP你可以調整"Route"的設定。 06/12 17:08
ybite:Apache 2.0的URL Rewriting Guide寫的不錯 06/12 17:08
MrMarcus:"RHS"通常是指"Right-hand side",某分隔點右邊的東西 06/14 14:46
MrMarcus:另外可以試著在index.php裡面開頭print_r($_SERVER); 06/14 14:47
MrMarcus:$_SERVER裡頭有很多好用的東西,其中就有可以拿來解析目前 06/14 14:48
MrMarcus:網址參數的(PATH_INFO還是別的,有點忘記) 06/14 14:48