URL重写主机头的问题

时间:2009-08-19 10:30:10

标签: asp.net mod-rewrite url-rewriting

我正在尝试在我的主/根网站上使用ManagedFusion UrlRewriter模块将具有特定主机名的请求重定向到根目录的子文件夹。假设我的root被称为profkroot.com,它有一个名为cottages的子文件夹(ASP.NET应用程序)。我还有一个名为profkcottages.com的域名,我正在尝试将其重定向到profkroot.com/cottages

使用以下示例规则,我获得了一个完全重写的URL。我对规则的正则表达方面有所了解,但我对重写部分知之甚少,而且这有点紧急,所以任何帮助都会受到赞赏。

以下是profkroot.com上的规则:     RewriteEngine On

#Fix missing trailing slash char on folders
RewriteCond %{HTTP:Host} (.*)
RewriteRule ([^.?]+[^.?/]) http\://%1$1/ [R]

#Emulate profkcottages.com
RewriteCond %{HTTP:Host} (?:www\.)?profkcottages\.com
RewriteRule (.*) /cottages$1 [NC,L]

如果我请求http://profcottages/home.aspx,则以下是重写的网址:

http://profkcottages.com/http/://profkcottages.com/home/.http/://profkcottages.comaspx/

2 个答案:

答案 0 :(得分:1)

CSS和图像内容很简单,您拥有的规则无法正确处理它们。

答案 1 :(得分:0)

原来我加了两次RewriterModule;一次在System.Web下,对于IIS6(托管),一次在System.WebServer下,对于IIS7(本地)。仍然不能100%使用css和img内容,但这是另一个问题。