Windows 7 上 IIS7 中使用 URL 重写模块出现 404

Windows 7 上 IIS7 中使用 URL 重写模块出现 404

我正在尝试通过“使用URL 重写模块“在IIS7(Windows 7)上。

网址:http://localhost/AIM/group-discussion/videos.aspx?id=4&title=some-title

改写网址:http://localhost/AIM/group-discussion/videos/4/some-title

重写规则:

<rewrite>
            <rules>
                <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
                    <match url="^AIM/group-discussion/videos/([^/]+)/([^/]+)/?$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="AIM/group-discussion/videos.aspx?id={R:1}&amp;title={R:2}" />
                </rule>
            </rules>
        </rewrite>

访问重写 URL 时出现 404 错误(http://localhost/AIM/group-discussion/videos/4/some-title

通过以下错误日志“失败的请求跟踪”在 IIS7 中

MODULE_SET_RESPONSE_ERROR_STATUS

ModuleName="IIS Web Core", Notification="MAP_REQUEST_HANDLER", HttpStatus="404", HttpReason="Not Found", HttpSubStatus="0", ErrorCode="The system cannot find the file specified.
 (0x80070002)", ConfigExceptionInfo=""

我正在运行网站“一体化管道模式”

答案1

尝试使用 www.sysinternals.com 上的进程监视器。这将让您知道它试图在磁盘上执行的操作。可能您只需要在重写路径的开头添加一个 /。

如果没有显示尝试在磁盘上执行任何操作,请尝试失败请求跟踪。这将提供更多详细信息。

相关内容