这是我们在 Win 2003 上的 IIS 6 中工作的东西,但最近我们已将服务器升级到 2008 和 IIS 7.5,在我的一生中,我无法让原生支持的 URL 重写工作。
在网站(example.site.com)下,我设置了以下规则:
<rule name="BD">
<match url="(.*)" />
<action type="Rewrite" url="http://new.site.net.au/$1" />
<conditions>
<add input="{HTTP_HOST}" pattern="^/content/packages/" />
</conditions>
</rule>
例如,我们有一个在 (example.site.com) 下运行的子应用程序,名为“Content”。即https://example.site.com/content/ 该子应用程序使用此代码启动以下 html 页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>
<script type="text/javascript">
var query = window.location.search;
query += query == "" ? "?" : "&";
window.location = 'https://' + document.domain + '/Content/Packages/Proxy/Proxy.aspx' + query + 'key=2AB90AC2-7106-4B92-87B1-EAD87E719A48';
</script>
</head>
<body>
</body>
</html>
当它启动时,我得到的只是:(虽然 URL 重写甚至没有发挥作用??
说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。请求的 URL:/Content/Packages/Proxy/Proxy.aspx
对此的任何帮助将不胜感激!!!!