簡體   English   中英

HTTP 錯誤 500.19,錯誤代碼 0x8007000d,同時嘗試在 IIS 10 中使用“URL 重寫”

[英]HTTP Error 500.19, error code 0x8007000d, while trying to use "URL Rewrite" in IIS 10

我嘗試在 web.config 中使用<rewrite>並收到HTTP 錯誤 500.19錯誤代碼 0x8007000d。

轉到IIS管理器,找到“URL重寫”圖標(這意味着該模塊已經安裝,我不必再次安裝它),但單擊它會給出一個通用的“執行此操作時出錯”錯誤。

我選擇哪個網站(或服務器本身)並不重要,單擊相應的“URL 重寫”圖標仍然會給出相同的錯誤消息。

在某些時候,錯誤消息開始顯示額外的細節:“無法讀取配置部分 'system.webServer/rewrite/globalRules',因為它缺少部分聲明”,我不記得更改任何內容,所以我不知道是什么導致它出現,所以這只是一個僅供參考。

我搜索並發現了許多其他有助於最終解決方案的帖子,以下是為我解決問題的步驟:

在您的服務器上:

檢查%SystemRoot%\\system32\\inetsrv\\rewrite.dll 是否存在

如果是,請在管理員模式下打開此配置文件: %SystemRoot%\\System32\\inetsrv\\Config\\applicationHost.config (對於 64 位 Windows,請確保使用 64 位文本編輯器,否則您將收到“找不到文件”錯誤`) 並檢查您是否有以下“重寫”元素(父元素僅供結構參考)

<sectionGroup name="system.webServer">
    <sectionGroup name="rewrite">
    <section name="rules" overrideModeDefault="Allow" />
    <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
    <section name="outboundRules" overrideModeDefault="Allow" />
    <section name="providers" overrideModeDefault="Allow" />
    <section name="rewriteMaps" overrideModeDefault="Allow" />
    <section name="allowedServerVariables" overrideModeDefault="Deny" />
</sectionGroup>



<globalModules>
    <add name="Rewrite" image="%SystemRoot%\System32\inetsrv\rewrite.dll" preCondition="bitness64" />



<location path="" overrideMode="Allow">
    <system.webServer>
        <modules>
            <add name="Rewrite" preCondition="bitness64" />

就我而言,applicationHost.config 中缺少所有相關部分,我必須添加上述所有內容。 保存文件,重新啟動 IIS(可能沒有必要,但我很樂意這樣做),再次單擊“URL 重寫”圖標,錯誤消失了。 之后,我用新部分修改了我網站的 web.config,它按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM