IIS下 Yii Url重写

  1. 下载URL重写组件 http://www.microsoft.com/zh-cn/download/details.aspx?id=7435
  2. 导入官方提供的.htaccess文件

    

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>‘,
            ),
        ),
时间: 2024-11-05 20:40:42

IIS下 Yii Url重写的相关文章

IIS下PHP rewrite重写设置(支持中文参数)实例

IIS环境下PHP重写设置 支持中文参数. 在网站根目录下加入:Web.Config: <?xml version="1.0" encoding=”UTF-8″?> <configuration> <system.webServer> <rewrite> <rules> <rule name="cnUrl" stopProcessing="true"> <match u

客户端禁用cookie情况下的URL重写

客户端禁用cookie情况下的URL重写: servlet: package com.stono.servlet.listenerorder; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest

IIS集成模式下,URL重写后获取不到Session值

近期给公司网站添加了伪静态功能,但是今天发现了在伪静态的页面中,Session值是获取不到的. 原因是在伪静态请求的时候,Session请求被“过滤”掉了. 开始是把web.config文件中的modules节点添加runAllManagedModulesForAllRequests="true"属性. <modules runAllManagedModulesForAllRequests="true"> <add name="URLMo

thinkphp 3.2.3在nginx+php下的url重写配置经验

环境:centos7.2+lnmp1.3(nginx+php7.0+mysql5.5) 进入服务器配置路径:cd /usr/local/nginx/conf/nginx.conf 修改nginx.conf文件vim nginx.conf,原来的文件内容不变,在最后加上我们需要的对thinkphpurl模式的解析 修改后的nginx.conf文件如下: user www www; worker_processes auto; error_log /home/wwwlogs/nginx_error.

linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)

需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点击"更新Mod_Rewrite 规则"按钮,这是会在网站根目录生成 .htaccess文件 将该文件导入到iis中的 url重写模块即可 2. 针对图片脚本样式文件报404的错误,可以通过以下规则 直接过忽略掉 <rule name="jpgtest" stopP

IIS8如何安装和使用URL重写工具-URL Rewrite

原文:IIS8如何安装和使用URL重写工具-URL Rewrite 下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开IIS(Internet 信息服务管理器),在管理器主页中找到管理项,打开Web平台安装程序,如下图: 在Web平台安装程序中选择产品>服务器,在列表中找到URL重写工具,点击添加后点击安装,即可自动安装好!如下图: 我们也可以手动下

Session,Cookie,jsessionid,Url重写

在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码: < % cookie[]cookies = request.getCookies(); if (cookies.lenght == 0 || cookies == null){ doStuffForNewbie(); //没有访问过 }else{ doStuffForReturnVisitor(); //已经访问过了 } % > 这是很浅显

thinkphp在IIS7.5+环境下部署出现的URL重写问题解决方法

简单点说,就是需要安装微软本身的url重写插件,可以使用IIS自带的web安装平台去查找安装.如果未安装这个平台,请自行百度搜索. 安装完成后,重启下IIS,在相应站点的IIS设置里会看到URL Rewrite 创建一个空的重写规则 然后在网站的根目录下,找到web.config文件打开 <rewrite>  <rules>  <rule name="OrgPage" stopProcessing="true">  <mat

windows2008R2下iis7.5中的url重写(urlrewrite)

以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是32位的,虽然可以设置IIS支持32位程序,不过还是希望找个更好的方法,于是找到了:用于 IIS 7 (x64) 的 Microsoft URL 重写模块 2.0 ,下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=7435.