所有,我在部署网站时遇到了问题。我发现web.config中有一个名为rewrite
的元素。
<rewrite>
<rules>
<!-- below rule will abort api request when the request to pattern "apis/v.*" is of "http" method-->
<rule name="AbortApiHTTPRequest">
<!-- Note:
the below pattern is assumed that all apis conain prefix "apis/v", e.g. apis/v3/aaauth
if there are some exceptions for the assumption, below pattern needs to be updated.
-->
<match url="^apis/v.*$" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="AbortRequest" />
</rule>
<!-- below rule will redirect all non-https requests except for above requests to https request.-->
<rule name="RedirectToHTTPS" stopProcessing="true">
<match url="^.*$" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}/{R:0}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
当我删除元素时,网站运行良好。否则我得到一个错误说。
HTTP错误500.19 - 内部服务器错误请求的页面不能 访问,因为页面的相关配置数据是 无效。
在我做了一些研究之后,我发现这个question正在谈论它。我不确定这是否是问题的原因。似乎它只是Visual studio
的xml语法验证。在IIS 7中部署网站真的很重要吗?
无论如何,我也按照帖子的说明进行操作,但是我没能使用它。但是我以管理员的身份运行cmd
。错误说明如下。
无法打开文件Xml \ Schemas \ DotNetConfig.xsd。确保 脚本在提升的命令提示符下运行。
如果我有足够的优势来运行cscript
命令,我就会徘徊?感谢。
更多
如果我使用Asp.net development server
在Visual Studio中运行项目,它可以正常工作而不会出现任何错误。但是,如果我在我的计算机上将项目发布到IIS。它不起作用。
答案 0 :(得分:3)
重写指令由URLRewrite module for IIS使用。
如果未安装该模块,您将收到与上述类似的错误。如果您需要URLRewriting,可以安装模块 - 或者 - 注释掉整个<rewrite>
部分。