0

仮想フォルダのデフォルトドキュメントを設定するURL書き換えルールを作成したいと思います。例えば。このような何か

www.domain.com/en/ -> www.domain.com/en/index.aspx
www.domain.com/hr/ -> www.domain.com/hr/index.aspx
www.domain.com/de/ -> www.domain.com/de/index.aspx

ディレクトリen、hr、deは、実際にはWebサーバーには存在しません。これらは、クエリパラメータを使用してパスを書き換える自家製のhttpモジュールで使用されるサイトで使用される言語のマーカーにすぎません。

簡単な解決策は、次のようなすべての単一言語のルールを定義することでした。

<rewrite>
    <rewriteMaps>
        <rewriteMap name="Langs">
            <add key="/en" value="/en/index.aspx" />
            <add key="/hr" value="/hr/index.aspx" />
            <add key="/de" value="/de/index.aspx" />
        </rewriteMap>
    </rewriteMaps>
<rules>

しかし、web.configを変更したり、特定のサイトで使用されるすべての言語に書き換えルールを追加したりする必要のないソリューションが本当に必要です。

ありがとう !

4

1 に答える 1

2
<rule name="Lang-Redirect">
    <match url="^(\w{2})\/?$" />
    <action type="Rewrite" url="{R:1}/index.aspx" />
</rule>

これにより、リクエストから言語タグをキャプチャして、カスタム http ハンドラに書き直すことができます。

于 2010-06-15T08:32:30.950 に答える