php iis 伪静态,iis7 php伪静态如何设置

iis7 php伪静态设置的方法:首先下载IIS的URLRewrite;然后点击“Add Rules”并选择“Blank rule”;最后添加一个伪静态规则并确定保存即可。

3b2478fcec720b5438df34598fb6123f.png

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

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

529ee4d0c040f7a876ef9319ac18462c.png

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

49026714b5ff800cdb908c16bb96d145.png

61e918a6b75073afaf4892ea39993fb3.png

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

81e1e9537e1c4f9c52b7b2084a8fda65.png

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

a8555baa93c984e281805aaf65e22cb0.png

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

19bff5a4fa21e4d6db895dcd8ee643e1.png

我们只需要填写三个部分

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

Pattern是匹配规则

Action Properties是真实的地址

d26d2d3b923c0e6d1a4e9721c5b05b34.png

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

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

7e0509e5651316a2406418631768e783.png

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

RewriteEngine On

RewriteRule ^category/(.+)\.html$ cn/index.php?o=$1

RewriteRule ^substance/(.+)_(.+)\.html$ cn/index.php?o=$1&id=$2

那么在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项,修改内容为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值