zoukankan      html  css  js  c++  java
  • IIS7下的伪静态配置

        某个项目是PHP的,本地是Apache + PHP + MYSQL,服务器上的环境是IIS + PHP + MYSQL,开发完成准备部署到服务器上发现伪静态无法使用,原因是IIS不能解析.htaccess文件的内容。

        如要在IIS下启用伪静态 就需要下载IIS的 URLRewrite,地址是: http://www.iis.net/expand/URLRewrite 

        

        点击那个 or view additional downloads 转到,服务器是64位的,所以我下载x64版本的URL Rewrite

        

        双击下载完成的文件,下一步、下一步到安装完成 

        

       重新打开IIS发现多了个URL Rewrite项,打开全E文呀,不用怕其实配置还是很简单的……

    如果我们要添加一个伪静态规则那么点击Add Rules,选择 Blank rule

    我们只需要填写三个部分

    name是这个规则的名称,可以随便取一个

    Pattern是匹配规则

    Action Properties是真实的地址

    还有个Test pattern是用来测试匹配规则是否正确,例如我想测试一下^category/(.+).html$ 这个匹配设置,Test Results还很贴心的给出了匹配结果和我们需要的参数列表,其中 {R:1}就是我想要的参数,可以在 Rewrite URL中使用: cn/index.php?o={R:1}  是不是很简单~

    顺便提一下:我在测试的时候不小心在正则表达式后面多加了个空格,结果总是匹配失败,所以大家要注意匹配规则的正则表达式前后不要带空格~

    URLRewrite的规则和Apache中基本类似,例如在Apache中匹配规则是这样的:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^category/(.+).html$         cn/index.php?o=$1
        RewriteRule ^substance/(.+)_(.+).html$   cn/index.php?o=$1&id=$2
    </IfModule>

    那么在IIS中我们只需要将其中的 $1  $2替换成 {R:1}, {R:2} 就可以了

    ^category/(.+).html$                cn/index.php?o={R:1}
    ^substance/(.+)_(.+).html$     cn/index.php?o={R:1}&id={R:2}

    熟悉了规则我们可以不用这个工具自己手工写URL匹配规则了,在网站根目录下修改web.config文件,system.webServer节点下增加rewrite项,修改内容为:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="category">
                        <match url="^category/(.+).html$" />
                        <action type="Rewrite" url="cn/index.php?o={R:1}" />
                    </rule>
                    <rule name="substance">
                        <match url="^substance/(.+)_(.+).html$" />
                        <action type="Rewrite" url="cn/index.php?o={R:1}&amp;id={R:2}" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>
  • 相关阅读:
    SVNKit学习——基于Repository的操作之print repository tree、file content、repository history(四)
    java操作svn【svnkit】实操
    python笔记38-使用zmail发各种邮件案例代码
    python笔记37-史上最好用的发邮件zmail
    python笔记3-邮件发送(smtplib)
    第9期《python3接口自动化测试》课程,6月29号开学!
    anyproxy学习4-Linux(Centos)搭建anyproxy环境
    anyproxy学习3-修改返回内容(beforeSendResponse)
    anyproxy学习2-rule模块实现接口mock功能
    anyproxy学习1-windows平台安装和抓手机app上https请求
  • 原文地址:https://www.cnblogs.com/relax/p/4712615.html
Copyright © 2011-2022 走看看