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的屬性




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