Asp.net 已发布的网站不';t在web.config中重新格式化重写元素
总之,我在部署网站时遇到了一个问题。我发现web.config中有一个名为Asp.net 已发布的网站不';t在web.config中重新格式化重写元素,asp.net,asp.net-mvc-4,Asp.net,Asp.net Mvc 4,总之,我在部署网站时遇到了一个问题。我发现web.config中有一个名为rewrite的元素 <rewrite> <rules> <!-- below rule will abort api request when the request to pattern "apis/v.*" is of "http" method--> <rule name="AbortApiHTTPReques
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>
谈论它。我不确定这是否是问题的原因。似乎这只是VisualStudio
的xml语法验证。在IIS 7中部署网站真的很重要吗
无论如何,我也遵循了帖子的说明,但是我没能让它工作。即使我以管理员的身份运行cmd
。错误如下所示
无法打开文件Xml\Schemas\DotNetConfig.xsd。确保
脚本在提升的命令提示符下运行
我想知道我是否有足够的权限运行cscript
命令?谢谢
更多
如果我在Visual Studio中使用Asp.net开发服务器运行该项目
,它就可以正常工作。但是如果我将项目发布到我计算机中的IIS。它不起作用 重写指令由使用
如果未安装模块,则会出现与上述类似的错误。如果需要URL重写,您可以安装该模块,也可以注释掉整个
部分。如果您在本地访问该网站(即与IIS服务在同一台计算机上),您是否获得扩展错误信息?是的,我在我的计算机的IIS中发布了该模块,并在我的计算机中访问了该模块,完整的错误信息可以显示在页面中。+1我如何确定模块是否已安装?谢谢。在IIS管理器中,找到并单击左侧窗格中的网站;在中间窗格中,您应该看到“HTTP特征”部分下的“URL重写”。它不随IIS提供或默认安装。其他方法是打开“服务器组件”下的“模块”,查看该列表中是否存在重写模块:%SYSTEMROOT%\system32\inetsrv\rewrite.dll
。是的,它尚未安装。但我突然想到一个问题,Url重写不是在HttpModule或HttpHandler中实现的吗?谢谢。对不起,我不知道。我只使用这个模块(IIS7上的IIRF和IIS6上的IIRF)重写URL。