我想使用此URL訪問Yii中的url www.example.com/detail/post
。在Yii中重寫URL
我應該能夠處理這個網址要麼行動detail
與具有價值post
參數或一些行動有一個命名參數detail
和值post
。
我閱讀了關於createUrl
的Yii文檔,但無法理解。
我想使用此URL訪問Yii中的url www.example.com/detail/post
。在Yii中重寫URL
我應該能夠處理這個網址要麼行動detail
與具有價值post
參數或一些行動有一個命名參數detail
和值post
。
我閱讀了關於createUrl
的Yii文檔,但無法理解。
我想這就是你要找的內容是:
更新main.php以下(在部分轉換控制,說控制器/細節,無論你的控制器的名字)
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'detail/<post:\d+>'=>'controller/detail',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
所以基本上你要告訴Yii格式細節/數字中的任何請求都會傳遞給你的控制器,並使用「細節」動作,然後傳遞一個名爲「post」的變量。
如果已經啓用國防部重寫,並要放置在你的htaccess文件
php_value upload_max_filesize 1M
DirectoryIndex index.php
Options +FollowSymlinks
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
以下,並添加以下到「urlManager」陣列在你的配置/ main.php文件:
'showScriptName'=>false,
將從您的網址中刪除index.php,並確保只以domain.com/controller/action的形式顯示網址
謝謝你的回答,它幫了我很多。 – Arif 2012-04-17 19:11:38