作者HuangJC (吹笛牧童)
看板PHP
标题[CakePHP] 请问网址的解释
时间Thu Jun 12 12:06:18 2008
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)
1F:推 ybite:[L] means "last rule", 就在同一份文件里面 06/12 17:01
2F:→ ybite:简单来讲MVC framework通常是用mod_rewrite把网址导向 06/12 17:01
3F:→ ybite:到index.php,路径会变成index.php的一个参数 06/12 17:07
4F:→ ybite:所以程式可以这样work。CakePHP你可以调整"Route"的设定。 06/12 17:08
6F:→ ybite:Apache 2.0的URL Rewriting Guide写的不错 06/12 17:08
7F:推 MrMarcus:"RHS"通常是指"Right-hand side",某分隔点右边的东西 06/14 14:46
8F:→ MrMarcus:另外可以试着在index.php里面开头print_r($_SERVER); 06/14 14:47
9F:→ MrMarcus:$_SERVER里头有很多好用的东西,其中就有可以拿来解析目前 06/14 14:48
10F:→ MrMarcus:网址参数的(PATH_INFO还是别的,有点忘记) 06/14 14:48