[英]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.