![](/img/trans.png)
[英]How to convert htaccess rules to web.config for IIS7/Symfony?
[英]Alternate Web.Config for IIS7 Rewrite Module Rules
是否可以将IIS7重写模块创建的规则从根网站配置移动到自己的Web配置文件中,就像使用appsettings一样,如果是这样的话?
我似乎无法让它工作,但它描述的方式是:
<rewrite>
<rewriteMaps configSource="external.config">
</rewriteMaps>
</rewrite>
然后在external.config文件中添加您的规则:
<rewriteMaps>
<rewriteMap ...
...
</rewriteMaps>
你必须与整个RewriteMap指令S部件要做到这一点:根据该论坛的帖子,你不能用RewriteMap指令做到这一点: http://forums.iis.net/t/1154113.aspx
这在web.config中适用于我:
<system.webServer>
<rewrite>
<rules configSource="web.rules.config" />
</rewrite>
</system.webServer>
一个很酷的事情是,当您编辑规则并将更改写回外部文件时, IIS配置编辑器会尊重此外部文件。
如果你把:
<system.webServer>
<rewrite configSource="web.rules.config" />
</system.webServer>
它不起作用,你得到HTTP错误500.19内部服务器错误:
Error Code: 0x8007000d
Config Error: Unrecognized attribute 'configSource'
任何人都可以指向rewrite
元素和configSource
属性的configSource
MSDN帮助页面? 关于system.webServer的MSDN文章没有提到重写元素,我无法通过谷歌找到MSDN页面。
我找到了配置文档,但它似乎没有涵盖configSource属性的使用。
我的猜测是<rules />
元素是作为具有configSource属性的SectionInformation实现的,而<rewrite />
元素是没有的ConfigurationSection 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.