2012-02-07 78 views
0

我想獲得一個URL重寫,因此它採用例如my.site.com的URL並將其重寫爲「Http:// localhost:8080」。我不斷收到默認主頁,而不是重定向。我已經配置如下重寫:IIS 7.5 URL重寫不起作用?請幫助

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="mysite"> 
       <match url="(my.+)" /> 
       <action type="Rewrite" url="http://localhost:8080" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 
</configuration> 

我很茫然,是不是我做錯了什麼???

任何幫助將不勝感激。

乾杯 傑夫

回答

0

這是不是100%清楚你想達到和原因是什麼,但是,因爲localhost參與,看來你不想重寫但也許執行HTTP 重定向重寫意味着您的請求URL被改爲另一個,比如index_foo.htm可以被重寫爲index.aspx?what = foo。

但是你想改變域名,所以你需要重定向。嘗試:

<system.webServer> 
    <httpRedirect enabled="true" destination="http://localhost:8080" childOnly="false" /> 
</system.webServer> 

這將保持任何本地頁面,你有所謂,我。即my.site.com/foo.htm將被重定向到localhost:8080/foo.htm。

因爲這就像是用於開發目的的臨時的事情,你可以添加

httpResponseStatus="Temporary" 

到httpRedirect(可能是爲了不失去搜索引擎排名很重要)。

+0

嗨Olaf,感謝您的回覆,我們正在實施一個使用Java應用程序的公共訪問網站。該應用程序將在tomcat上運行,因此作爲compaby安全要求我們不能讓tomcat公衆面對。所以我們希望所有的公共請求都進入IIS 7.5,然後將其重定向到tomcat。因此,將包含參數的所有my.site.com請求重定向到http:localhost:8080,這將是tomcat應用程序(端口8080是標稱的)。 – user1153199 2012-02-07 23:32:01

+0

然後重定向將不起作用(獲取本地主機的瀏覽器將嘗試訪問它運行的計算機)。我懷疑重寫會起作用,至少不是開箱即用的(Tomcat的輸出將不得不通過IIS路由到瀏覽器)。我不知道有什麼工具可以支持,但你可以自己寫。瀏覽器輸入必須在內部轉發到Tomcat,並將結果讀取併發送回瀏覽器。 – Olaf 2012-02-08 09:51:05