我正在尝试通过“使用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}&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 上的进程监视器。这将让您知道它试图在磁盘上执行的操作。可能您只需要在重写路径的开头添加一个 /。
如果没有显示尝试在磁盘上执行任何操作,请尝试失败请求跟踪。这将提供更多详细信息。