重写 - asp 经典
Rewrite - asp classic
我正在使用 web.config 文件重写我的网站
唯一的规则是
<rule name="id">
<match url="([_0-9a-z-]+)" />
<action type="rewrite" url="default.asp?id={R:1}">
</rule>
代码工作正常,但问题是当页面从另一个文件夹调用图像或文件,如 CSS 或 JavaScript 时,它根本不起作用。
我怎样才能避免这个问题?
您需要在规则中添加一些条件,以便仅当 url 不对应于文件或目录时才起作用。这是URL重写的关键之一。
<rule name="id">
<match url="([_0-9a-z-]+)" />
<action type="Rewrite" url="default.asp?id={R:1}" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
</rule>
我正在使用 web.config 文件重写我的网站
唯一的规则是
<rule name="id">
<match url="([_0-9a-z-]+)" />
<action type="rewrite" url="default.asp?id={R:1}">
</rule>
代码工作正常,但问题是当页面从另一个文件夹调用图像或文件,如 CSS 或 JavaScript 时,它根本不起作用。 我怎样才能避免这个问题?
您需要在规则中添加一些条件,以便仅当 url 不对应于文件或目录时才起作用。这是URL重写的关键之一。
<rule name="id">
<match url="([_0-9a-z-]+)" />
<action type="Rewrite" url="default.asp?id={R:1}" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
</rule>