2011-06-11 224 views
0

我試圖用IIS7 URL重寫模塊重寫 services.mydomain.com/some-file-heremydomain.webhost.com/folder/some-file-hereIIS URL重寫的

的規則如下:

Pattern = ^services.mydomain.com/(.*)$ 
Action = Rewrite 
Rewrite URL = http://mydomain.webhost.com/folder/{R:1} 

的問題是IIS一直給我404沒有發現錯誤。我一直堅持這個好幾天了。有任何想法嗎?

+0

URL重定向是否成功? 404在哪個頁面上? – 2011-06-11 01:17:43

+0

當我訪問說services.mydomain.com/Hello,我得到了404.該網址似乎並沒有重新定向。 – 2011-06-11 01:59:40

回答

0

你有你的模式錯了。它不應該包含域名或查詢字符串 - 只有沒有引導斜槓的路徑。請參見下面的工作規則:

<rule name="MyRewriteRule" stopProcessing="true"> 
    <match url="^(some-file-here)$" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^services\.mydomain\.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://mydomain.webhost.com/folder/{R:1}" /> 
</rule> 

以上規則,如果主機名是services.mydomain.com纔會觸發。如果你不需要這樣的附加條件(這是可選的),然後就刪除這些三線:<conditions>...</conditions>

而且,上述規則將只做一個特定的重定向從services.mydomain.com/some-file-heremydomain.webhost.com/folder/some-file-here。如果您需要重定向任何類似的文件,請使用下面的文件:

<rule name="MyRewriteRule" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
     <add input="{HTTP_HOST}" pattern="^services\.mydomain\.com$" /> 
    </conditions> 
    <action type="Redirect" url="http://mydomain.webhost.com/folder/{R:1}" /> 
</rule>