<rewrite>不是<system.web>的有效子元素?</system.web> </rewrite>

时间:2010-10-05 16:59:49

标签: asp.net .net-4.0 url-rewriting web-config

希望我只是忽略了一些非常简单的事情,如果是这样我道歉......

我在.NET4中有一个ASP.NET应用程序,我们正在尝试使用

进行URL重写
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule....>

出于某种原因,intellisense返回一个错误,指出<rewrite>不是<system.webserver>的有效子元素

当我构建并运行它时,它会说类似于“web.config中第0行的错误”

如果我删除所有<rewrite>行,它可以正常工作(当然不会重写)

我需要打开一个开关还是什么?它必须是我愚蠢地忽视的东西......

由于

编辑:原来IIS被塞了。投票结束。

4 个答案:

答案 0 :(得分:1)

您确定要定位到Framework 4.0吗?

<compilation targetFramework="4.0"/>

答案 1 :(得分:1)

答案 2 :(得分:0)

您的IIS上是否安装了URL重写模块?

答案 3 :(得分:0)

在C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Xml \ Schemas \ 1033下更新DotNetConfig,如果您使用的是VS2012及更高版本。

在notepad ++下打开DotnetConfig,找到关键字System.webServer。

在System.webServer标记下粘贴以下XML。我添加了截图,更新此xml元素的位置并保存此文件。(记住:在缓存元素关闭标记之后添加此内容)

注意:如果有效(希望如此)请为其他人投票。

Screenshot

<!-- language: lang-xml -->
    <xs:element name="rewrite" vs:help="configuration/system.webServer/rewrite">
        <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="globalRules" vs:help="configuration/system.webServer/rewrite/globalRules">
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="rule" vs:help="configuration/system.webServer/rewrite/globalRules/rule">
                                <xs:complexType>
                                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="match" vs:help="configuration/system.webServer/rewrite/globalRules/rule/match">
                                            <xs:complexType>
                                                <xs:attribute name="url" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/match/url">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:string">
                                                            <xs:minLength value="1" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                                <xs:attribute name="negate" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/match/negate" />
                                                <xs:attribute name="ignoreCase" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/match/ignoreCase" />
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="conditions" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions">
                                            <xs:complexType>
                                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                                    <xs:element name="add" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/add">
                                                        <xs:complexType>
                                                            <xs:attribute name="input" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/add/input" />
                                                            <xs:attribute name="matchType" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/add/matchType">
                                                                <xs:simpleType>
                                                                    <xs:restriction base="xs:NMTOKEN">
                                                                        <xs:enumeration value="Pattern" />
                                                                    </xs:restriction>
                                                                </xs:simpleType>
                                                            </xs:attribute>
                                                            <xs:attribute name="negate" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/add/negate" />
                                                            <xs:attribute name="pattern" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/add/pattern" />
                                                            <xs:attribute name="ignoreCase" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/add/ignoreCase" />
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="logicalGrouping" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/conditions/logicalGrouping">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:NMTOKEN">
                                                            <xs:enumeration value="MatchAll" />
                                                            <xs:enumeration value="MatchAny" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="action" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action">
                                            <xs:complexType>
                                                <xs:attribute name="type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/type">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:NMTOKEN">
                                                            <xs:enumeration value="None" />
                                                            <xs:enumeration value="Rewrite" />
                                                            <xs:enumeration value="Redirect" />
                                                            <xs:enumeration value="CustomResponse" />
                                                            <xs:enumeration value="AbortRequest" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                                <xs:attribute name="url" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/url" />
                                                <xs:attribute name="appendQueryString" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/appendQueryString" />
                                                <xs:attribute name="redirectType" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/redirectType">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:NMTOKEN">
                                                            <xs:enumeration value="Permanent" />
                                                            <xs:enumeration value="Found" />
                                                            <xs:enumeration value="SeeOther" />
                                                            <xs:enumeration value="Temporary" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                                <xs:attribute name="statusCode" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/statusCode" />
                                                <xs:attribute name="subStatusCode" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/subStatusCode" />
                                                <xs:attribute name="statusReason" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/statusReason" />
                                                <xs:attribute name="statusDescription" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/action/statusDescription" />
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="name" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/globalRules/rule/name" />
                                    <xs:attribute name="enabled" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/enabled" />
                                    <xs:attribute name="patternSyntax" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/patternSyntax">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:NMTOKEN">
                                                <xs:enumeration value="ECMAScript" />
                                                <xs:enumeration value="Wildcard" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                    <xs:attribute name="stopProcessing" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/globalRules/rule/stopProcessing" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="remove" vs:help="configuration/system.webServer/rewrite/globalRules/rule">
                              <xs:complexType>
                                <xs:attribute name="name" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/globalRules/rule/name" />
                              </xs:complexType>
                            </xs:element>
                            <xs:element name="clear" vs:help="configuration/system.webServer/rewrite/globalRules/rule" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="rules" vs:help="configuration/system.webServer/rewrite/rules">
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="rule" vs:help="configuration/system.webServer/rewrite/rules/rule">
                                <xs:complexType>
                                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="match" vs:help="configuration/system.webServer/rewrite/rules/rule/match">
                                            <xs:complexType>
                                                <xs:attribute name="url" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/match/url">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:string">
                                                            <xs:minLength value="1" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                                <xs:attribute name="negate" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/match/negate" />
                                                <xs:attribute name="ignoreCase" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/match/ignoreCase" />
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="conditions" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions">
                                            <xs:complexType>
                                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                                    <xs:element name="add" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/add">
                                                        <xs:complexType>
                                                            <xs:attribute name="input" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/add/input" />
                                                            <xs:attribute name="matchType" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/add/matchType">
                                                                <xs:simpleType>
                                                                    <xs:restriction base="xs:NMTOKEN">
                                                                        <xs:enumeration value="Pattern" />
                                                                        <xs:enumeration value="IsFile" />
                                                                        <xs:enumeration value="IsDirectory" />
                                                                    </xs:restriction>
                                                                </xs:simpleType>
                                                            </xs:attribute>
                                                            <xs:attribute name="negate" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/add/negate" />
                                                            <xs:attribute name="pattern" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/add/pattern" />
                                                            <xs:attribute name="ignoreCase" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/add/ignoreCase" />
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:choice>
                                                <xs:attribute name="logicalGrouping" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/conditions/logicalGrouping">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:NMTOKEN">
                                                            <xs:enumeration value="MatchAll" />
                                                            <xs:enumeration value="MatchAny" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="action" vs:help="configuration/system.webServer/rewrite/rules/rule/action">
                                            <xs:complexType>
                                                <xs:attribute name="type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/type">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:NMTOKEN">
                                                            <xs:enumeration value="None" />
                                                            <xs:enumeration value="Rewrite" />
                                                            <xs:enumeration value="Redirect" />
                                                            <xs:enumeration value="CustomResponse" />
                                                            <xs:enumeration value="AbortRequest" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                                <xs:attribute name="url" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/url" />
                                                <xs:attribute name="appendQueryString" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/appendQueryString" />
                                                <xs:attribute name="redirectType" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/redirectType">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:NMTOKEN">
                                                            <xs:enumeration value="Permanent" />
                                                            <xs:enumeration value="Found" />
                                                            <xs:enumeration value="SeeOther" />
                                                            <xs:enumeration value="Temporary" />
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:attribute>
                                                <xs:attribute name="statusCode" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/statusCode" />
                                                <xs:attribute name="subStatusCode" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/subStatusCode" />
                                                <xs:attribute name="statusReason" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/statusReason" />
                                                <xs:attribute name="statusDescription" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/action/statusDescription" />
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="name" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/rules/rule/name" />
                                    <xs:attribute name="enabled" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/enabled" />
                                    <xs:attribute name="patternSyntax" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/patternSyntax">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:NMTOKEN">
                                                <xs:enumeration value="ECMAScript" />
                                                <xs:enumeration value="Wildcard" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                    <xs:attribute name="stopProcessing" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rules/rule/stopProcessing" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="remove" vs:help="configuration/system.webServer/rewrite/rules/rule">
                                <xs:complexType>
                                    <xs:attribute name="name" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/rules/rule/name" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="clear" vs:help="configuration/system.webServer/rewrite/rules/rule" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
                <xs:element name="rewriteMaps" vs:help="configuration/system.webServer/rewrite/rewriteMaps">
                    <xs:complexType>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="rewriteMap" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap">
                                <xs:complexType>
                                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="add" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/add">
                                            <xs:complexType>
                                                <xs:attribute name="key" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/add/key" />
                                                <xs:attribute name="value" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/add/value" />
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="remove" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/add">
                                            <xs:complexType>
                                                <xs:attribute name="key" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/add/key" />
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="clear" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/add">
                                            <xs:complexType>
                                                <!--tag is empty-->
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:choice>
                                    <xs:attribute name="name" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/name" />
                                    <xs:attribute name="defaultValue" type="xs:string" use="optional" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/defaultValue" />
                                    <xs:attribute name="ignoreCase" type="small_boolean_Type" use="optional" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/ignoreCase" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="remove" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap">
                                <xs:complexType>
                                    <xs:attribute name="name" type="xs:string" use="required" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap/name" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="clear" vs:help="configuration/system.webServer/rewrite/rewriteMaps/rewriteMap" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:complexType>
    </xs:element>