[英]IIS7 rewrite for REST not working
我有一個REST服務,正在嘗試刪除.svc-一個常見的任務/問題。
服務器上的應用程序位於默認網站下的虛擬目錄中(不確定這是否重要)
我已經安裝了IIS重寫模塊,並試圖為此創建一個重寫規則。
http://blah.me.com/here/thingys/get?id=1111
重寫為:
http://blah.me.com/service.svc/thingys/get?id=1111
在我的web.conf中,將創建以下內容:
<rewrite>
<rules>
<rule name="GEAPI /here/ to /service.svc/">
<match url="^(.*?)/here/(.*)$" />
<action type="Rewrite" url="{R:1}/service.svc/{R:2}" />
</rule>
</rules>
</rewrite>
在GUI中,正則表達式可以正確測試。
但是-當我在服務器上的瀏覽器中運行它時,它出現以下404錯誤:
錯誤代碼0x80070002
要求的網址http://blah.me.com:80/here/thingys/get?id=1111
物理路徑C:\\ MyApp \\ here \\ thingys \\ get
C:\\ Myapp是IIS中虛擬目錄指向的正確物理目錄。
我在這里缺少什么嗎? 我曾嘗試在默認網站和應用程序下分別或一起創建此規則。
太謝謝了
P
您可以使用此:
<rewrite>
<rules>
<rule name="GEAPI /here/ to /service.svc/">
<match url="^(.*)here(/.+)" />
<action type="Rewrite" url="{R:1}service.svc{R:2}" />
</rule>
</rules>
</rewrite>
IIS只給您http://blah.me.com/之后的URI部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.