0

REST サービスがあり、.svc を削除しようとしています - 一般的なタスク/問題です。

サーバー上のアプリケーションは、デフォルトの Web サイトの下の仮想ディレクトリにあります (これが重要かどうかは不明です)。

IIS Rewrite Module をインストールし、このための書き換えルールを作成しようとしました。

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 エラーが発生


ます 。 \MyApp\here\thingys\get


C:\Myapp は、IIS の仮想ディレクトリが指している正しい物理ディレクトリです。

ここに欠けているものはありますか?デフォルトの Web サイトとアプリの両方で、このルールを別々に、または一緒に作成しようとしました。

本当にありがとう

P

4

1 に答える 1

0

これを使用できます:

<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 の部分のみを提供します。

于 2010-02-12T12:49:11.170 に答える