首頁 >php教程 >php手册 >IIS下 Yii Url重写,iisyiiurl重写

IIS下 Yii Url重写,iisyiiurl重写

WBOY
WBOY原創
2016-06-13 09:23:03903瀏覽

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如下

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

 

   5. 修改config.php

'urlManager' => <span>array</span><span>(
            </span>'urlFormat' => 'path', <span>//</span><span>URL 格式。共支持两种格式: 'path' 格式( 如:/path/to/EntryScript.php/name1/value1/name2/value2... ) 和'get' 格式( 如:/path/to/EntryScript.php?name1=value1&name2=value2...)。当使用'path'格式时,需要设置如下的规则:</span>
            'showScriptName'=><span>false</span>,
<span>//</span><span>            'urlSuffix'=>'.html',</span>
            'rules' => <span>array</span>(<span>//</span><span>URL 规则。语法:<参数名:正则表达式></span>
                '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',<span>
            )</span>,<span>
        )</span>,

 

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()方法里加上上面的代码即可
 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn