程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> IIS下 Yii Url重寫,iisyiiurl重寫

IIS下 Yii Url重寫,iisyiiurl重寫

編輯:關於PHP編程

IIS下 Yii Url重寫,iisyiiurl重寫


    

Options +FollowSymLinks

   IndexIgnore */*

   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

自動生成的web.config如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="false" />
        <rewrite>
            <rules>
                <rule name="已導入的規則 1">
                    <match url="." ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

 

   5. 修改config.php

'urlManager' => array(
            'urlFormat' => 'path', //URL 格式。共支持兩種格式: 'path' 格式( 如:/path/to/EntryScript.php/name1/value1/name2/value2... ) 和'get' 格式( 如:/path/to/EntryScript.php?name1=value1&name2=value2...)。當使用'path'格式時,需要設置如下的規則:
            'showScriptName'=>false,
//            'urlSuffix'=>'.html',
            'rules' => array(//URL 規則。語法:<參數名:正則表達式>
                '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            ),
        ),

 


YII框架在IIS服務器下怎重寫來改變URL

好像是在conf目錄下conf文件裡面添加&#39;URL_MODE&#39;=&gt;2;不知道是不是這樣
 

YII 重寫URL規則後,怎讓原來的舊地址,載入時也變成新地址

只能手動正則匹配舊地址規則,然後跳轉到新地址了.

例子:
if ( preg_match( '/cate\_detail/[^\.]+/i' ,$_SERVICE['REQUEST_URI'] ) )
{
$this->redirect($this->createUrl('category/detail', array('cate'=>'文學')), true, 301);
}

原來我的網址結構是 /cate_detail/文學.html, 後來改成/cate/文學.html 這樣形式的。在所有controller的父類Controller.php的init()方法裡加上上面的代碼即可
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved