Cakephp中配置Router,改变默认的页面请求方式

       Cakephp中的一个超强大功能在于他用htaccess文件改变了页面的请求方向,其实在Cakephp文件目录中有个类似的文件,他也可以改变页面的请求方向,当然他没有htaccess文件那么的强大。这篇文件就是很简短的写出这个改变默认页面的控制器及方法的办法。

一、文件的位置:
     位置是:app/config/routes.php
     这里面代码不多,只有2行代码,

Router::connect(’/', array(’controller’ => ‘pages’, ‘action’ => ‘display’, ‘home’));
Router::connect(’/pages/*’, array(’controller’ => ‘pages’, ‘action’ => ‘display’)); 

     这个东东的作用就是访问页面的时候,根据页面路径,就给控制器和控制器方法一个默认值,并可以传递一个参数过去。(最后的那个参数,如‘home’)。


二、我的修改:
     因为我拿Cakephp console生成了一个tests控制器,那么我当然想在访问首页的时候,显示的是我自己的实验内容了。修改如下:

   Router::connect(’/', array(’controller’ => ‘tests’, ‘action’ => ‘index’)); 
    这样的话,就默认执行我的tests_controller.php里面的index方法了。

CakePHP的根目录(必须存在,这个文件会把所有的请求重定向到你的CakePHP web应用程序)下的.htaccess为:

 <IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule ^$ app/webroot/ [L]
 RewriteRule (.*)app/webroot/$1[L]
 </IfModule>

CakePHP的app目录(这是你应用程序的根目录)下的.htaccess为:

/><IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*)webroot/$1[L]
 </IfModule>

CakePHP的webroot目录(在你应用程序的webroot目录下)下的.htaccess为:

 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1[QSA,L]
    </IfModule>

正则表达式语法

js 中 RegExp 的 multiline的属性




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章