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}&id={R:2}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
IIS7下的伪静态配置的更多相关文章
- PHP各环境下的伪静态配置
一.Apache的伪静态配置 1.网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容为 <IfModule mod_rewrite.c> RewriteEngine o ...
- PHP Apache/Nginx/IIS等各环境下的伪静态配置
一.Apache的伪静态配置 1.网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容如下: <IfModule mod_rewrite.c> RewriteEngine ...
- PHPCMS v9 在windows2008系统 IIS7 下设置伪静态的方法
安装环境:windows2008+IIS7.0+PHP5+MYSQL5 一.安装phpcms v9程序,设置伪静态.如图: 二.安装IIS7官方Url重写模块 1.先到IIS官方下载模块 下载地址:h ...
- [转载]ASP.NET伪静态页面的实现和伪静态在IIS7.0中的配置
ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置 最近在写一个CMS的内容管理系统,需要用到一个伪静态方面的方法,在网上找了一下这方面的资料,现将这方面的资源记录一下. 本机环境: ...
- 如何在IIS7下配置ASP+ACCESS环境
如何在IIS7下配置ASP+ACCESS环境 | 浏览:901 | 更新:2013-01-16 17:46 1 2 3 4 5 6 7 分步阅读 默认装完IIS7之后,使用ASP程序会发现提示数据库连 ...
- IIS7下配置SSAS通过HTTP远程连接
淘宝 问答 学院 博客 资源下载 高端培训 登录 注册 全部问题 文章 话题 人物 ...
- PHP学习笔记----IIS7下安装配置php环境
原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...
- framework4.0 IIS7下urlrewriter设置问题
framework4.0 IIS7下urlrewriter设置问题 http://www.cnblogs.com/litian/articles/alex.html IIS开启伪静态后html静态页面 ...
- 如何在IIS7/7.5上配置IISADMPWD
问题 很多IIS用户还记得在早期的IIS版本上有一个web应用, IISADMPWD. 该应用是与IIS5 和IIS6一起发布的. 主要用于为域用户提供修改密码的功能, 同时也可以修改本机用户的密码. ...
随机推荐
- SQL SERVER 和ACCESS的数据导入导出
//批量导入Access string filepath = Server.MapPath("student.mdb"); stri ...
- ural 1145. Rope in the Labyrinth
1145. Rope in the Labyrinth Time limit: 0.5 secondMemory limit: 64 MB A labyrinth with rectangular f ...
- BZOJ4118 : [Wf2015]Window Manager
OPEN.CLOSE.RESIZE操作直接模拟即可. 对于MOVE,设$f_i$表示$i$号矩形的坐标,先无视边界通过DP求出每个矩形的坐标,再根据边界反向用第二次DP求出被移动矩形移动的真实距离,再 ...
- float的元素脱离文档流,但不完全脱离,只是提升了半层;
float的元素脱离文档流,但不完全脱离,只是提升了半层:
- 1301. The Trip
A number of students are members of a club that travels annually to exotic locations. Their destinat ...
- BZOJ 1054 题解
1054: [HAOI2008]移动玩具 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1888 Solved: 1035[Submit][Stat ...
- 【BZOJ】2277: [Poi2011]Strongbox
题意 有一个密码箱,\(0\)到\(n-1\)中的某些整数是它的密码.如果\(a\)和\(b\)都是它的密码,那么\((a+b)%n\)也是它的密码(\(a,b\)可以相等).某人试了\(k\)次密码 ...
- HDU 4741 Save Labman No.004(计算几何)
题目链接 抄的模版...mark一下. #include <iostream> #include <cstring> #include <cstdio> #incl ...
- SQL中union运算操作的理解
在SQL中,对于并运算,可以使用union关键字. 例如: SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FRO ...
- 状压dp题目总结
这块比较薄弱.. 来几道水题: BZOJ1231: [Usaco2008 Nov]mixup2 混乱的奶牛 f[i][j]状态i结尾j的个数 ;i<=tot;i++) ;j<=n;j++) ...