我需要捕获对非文件夹的文件夹的请求,将其重定向到默认页面,并将请求的路径作为查询字符串。
例如,如果用户请求
www.mysite.com/IT
我希望它重定向到
www.mysite.com/default.aspx?q=IT
但是,如果他们请求真实子文件夹中的页面,则不应重定向该页面。例如,对www.mysite.com/projects/new.aspx的请求不应尝试重新指示,因为它是站点中的物理文件夹和文件。
答案 0 :(得分:1)
使用IIS Rewrite module并在web.config中设置它:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirector" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{PATH_INFO}" pattern="/*" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/default.aspx?q={PATH_INFO}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
答案 1 :(得分:0)
您可以使用&#34; q =&#34;定义404错误页面,该页面将重定向到您的默认页面。你想要的