YII教程 Yii url重寫

2022-04-06 15:29:01 字數 1314 閱讀 1047

在弄yii的url重寫,希望能把url改成更好記的形式,同時去掉index.php的部分。轉化前後的對比:

修改前: http://localhost/index.php?r=site/page?view=about

修改後: http://localhost/site/page?view=about

查了些資料完成以上的效果。我到環境是: apache2(httpd-2.2.21), php5.3.8, yii 1.1.8

step 1

首先先確保apache2有rewrite模組,具體可通過phpinfo()看到apache的模組。

我在這步折騰了不少時間,不管怎麼編譯都出不來,最後是通過如下完成到:

如果沒出錯,在/usr/local/apache2/modules/ 中就會有mod_rewrite.so了 注意,然後只能在httpd.conf檔案裡新增以下一行,,

loadmodule rewrite_module modules/mod_rewrite.so

重啟apache即可。

step 2

然後修改protected/config/main.php,修改如下:

『urlmanager』=>array(

『urlformat』=>』path』,

『showscriptname』=>false, // 這一步是將**裡鏈結的index.php隱藏掉。

『rules』=>array(

『/』=>』/view』,

『//』=>』/』,

『/』=>』/』,

),),

這一步之後,在yii裡的所有鏈結將不會看到index.php,但還應該到apache在收到如此url請求時懂得加上index.php,這就需要url重寫了。

step 3

有了step1的前提,就可以在yii專案的根目錄(和index.php同級目錄)下新增.htaccess目錄,在裡面寫上:

options +followsymlinks

indexignore */*

rewriteengine on

rewritecond % !-f

rewritecond % !-d

rewriterule . index.php

就ok了。

YII的重寫規則

如果不用內建sever去開發專案,輸入 會報object 則按照下列步驟即可使用安裝開發環境 yii寫的 根目錄在web下 第一步 要在httpd.conf中開啟apache的rewrite模組 第二步 在web下建立.htaccess檔案,檔案內容如下 ifmodule mod rewrite.c...

YII教程 Yii生成下拉列表

yii生成下拉列表主要用到了chtml類 裡面的兩個靜態方法listdata和dropdownlist。listdata接收四個引數 array model 指的是我們從資料庫查詢的記錄結果。string valuefield 指的是下拉列表option value屬性的值。string textf...

Yii2 Apache Nginx 路由重寫

一 什麼是路由重寫 重寫後的http訪問位址 www.test.com post view id 100 這樣的鏈結看起來簡潔美觀,對於使用者比較友好。同時,也比較適合搜尋引擎的胃口,據說是seo的手段之一。二 apache 路由重寫 一 開啟apache的重寫模組 1.開啟apache的confi...