IIS Express web.config 设置(〇)
2016-04-29 09:24
295 查看
被 IIS Express 指向的站点目录下大多有个web.config文件用于该网站单独设置。
首行是XML的标识,因为使用的XML,configuration包裹着的是设置。以下出现设置的XML时都会包括父级标签,这样便于知道这个设置要放在哪里。
在单入口的URL路由中,URL如果包含加号(+)这种符号时,默认IIS Express是不会交给站点程序处理的,这时会给出一个错误界面。但是我们往往希望给出的错误界面统一,所以修改这个设置可以让这种符号通过,再有站点程序做出处理给出页面。requestFiltering里设置allowDoubleEscaping为True就是允许这种“双转义字符”通过。
以上是一个设置单入口的例子,rewrite标签下rules里可以放置多个rule(注意,上级是有s的)。rule有个name的属性,命名了这个rule。match标签的url是用于匹配URL的正则表达式。action标签用于真正的路由功能,type里Rewrite是重写,Redirect是重定向,url是目的URL。
这个例子里files标签里clear标签清除了系统默认的设置。查看IIS Express 的applicationhost.config文件是可以看到默认的。add标签就是把这种文件名加进默认列表中。
在applicationhost.config的location标签下设置的话所有项目(例如其他.Net)都会打开PHPfastCgi,所以在web.config里设置会比较好。
0.常见结构
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> </system.webServer> </configuration>
首行是XML的标识,因为使用的XML,configuration包裹着的是设置。以下出现设置的XML时都会包括父级标签,这样便于知道这个设置要放在哪里。
1.security标签
这个标签涉及一些安全问题相关的设置。例如:<system.webServer> <security> <requestFiltering allowDoubleEscaping="True"/> </security> </system.webServer>
在单入口的URL路由中,URL如果包含加号(+)这种符号时,默认IIS Express是不会交给站点程序处理的,这时会给出一个错误界面。但是我们往往希望给出的错误界面统一,所以修改这个设置可以让这种符号通过,再有站点程序做出处理给出页面。requestFiltering里设置allowDoubleEscaping为True就是允许这种“双转义字符”通过。
2.rewrite标签
同样在system.webServer标签下的rewrite标签可以起到重写或重定向的功能。<system.webServer> <rewrite> <rules> <rule name="Entry"> <match url=".*" /> <action type="Rewrite" url="/index.php" /> </rule> </rules> </rewrite> </system.webServer>
以上是一个设置单入口的例子,rewrite标签下rules里可以放置多个rule(注意,上级是有s的)。rule有个name的属性,命名了这个rule。match标签的url是用于匹配URL的正则表达式。action标签用于真正的路由功能,type里Rewrite是重写,Redirect是重定向,url是目的URL。
3.defaultDocument标签
该标签可以设置可被IIS Express默认为首页也就是URL只有域名的默认页面文件。<system.webServer> <defaultDocument> <files> <clear /> <add value="index.php" /> </files> </defaultDocument> </system.webServer>
这个例子里files标签里clear标签清除了系统默认的设置。查看IIS Express 的applicationhost.config文件是可以看到默认的。add标签就是把这种文件名加进默认列表中。
4.handlers标签
在该标签下添加子元素add来添加处理器(handler),这里以启用PHP的fastCgi为例:</system.webServer> <handlers accessPolicy="Read, Script"> <add name="PHP7_0_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="D:\PHP-7.0.4\php-cgi.exe" resourceType="Either"/> </handlers> </system.webServer>
在applicationhost.config的location标签下设置的话所有项目(例如其他.Net)都会打开PHPfastCgi,所以在web.config里设置会比较好。
相关文章推荐
- STL stack堆栈容器
- uap 开发工具无法重新授权解决方法
- TN2151:崩溃报告
- Mysql 性能调优之Memory 计算
- log4j的配置
- GeoTrust 企业(OV)型 通配符(Wildcard) SSL证书
- php xdebug
- MySQL执行计划explain的key_len解析
- easyui扩展:datagrid鼠标经过提示单元格内容(6)
- 正则表达式知识详解之替换 (java版示例)
- 常用Petri网模拟软件工具简介
- python中私有函数调用方法解密
- 常用Petri网模拟软件工具简介
- Mac上的抓包工具Charles
- RunLOOP浅分析
- SharedPreferences详解
- RPC应用的java实现(转)
- ClassLibary和WPF User Control LIbary和WPF Custom Control Libary的异同
- 自然连接和等值连接的区别
- i2c知识总结及协议解析