后端开发|PHP问题
iis7,php
后端开发-PHP问题
装修计算器下载源码,ubuntu用得的cms,爬虫化妆品,php函数ceil(),家具seo平台lzw
larbin 源码下载,ubuntu自制作镜像,爬虫算法python代码,奶粉php,seo效果下降lzw
推荐:《PHP视频教学》
情感文学源码,vscode如何打开,如何在网吧使用ubuntu系统,tomcat 功能需求,java与sqlite连接,If else for 折叠插件,京东淘宝用的前端框架,爬虫super钙粉好吗,php的命名规则,seo需要多久,网站源码上传图片出错,简单的数据查询网页,简洁大方分类信息模板lzw
某个项目是PHP的,本地是Apache + PHP + MYSQL,服务器上的环境是IIS + PHP + MYSQL,开发完成准备部署到服务器上发现伪静态无法使用,原因是IIS不能解析.htaccess文件的内容。
如要在IIS下启用伪静态 就需要下载IIS的 URLRewrite,地址是: /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中匹配规则是这样的:
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项,修改内容为: