2009-07-02 11 views
1

選択した言語のクエリ文字列を再作成したいと考えています。URL書き換え言語クエリ文字列

私はこのURL持っている:www.example.com/?lang=enを、そして、それはそれはすべてのページに書き換える必要があります

をwww.example.com/enすることにしたいです。したがって、www.example.com/contact.aspx?lang=enはwww.example.com/en/contact.aspxになります

一般的な書き換えルールはありますか?

答えて

2

この1つは動作します。

<rule name="Rewrite Language"> 
    <match url="([a-z]{2})(.*)" /> 
    <conditions logicalGrouping="MatchAll"> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="{R:2}?lang={R:1}" /> 
</rule> 
0

私の構文はオフに少しかもしれないが、あなたはおそらくこのような何か行うことができます:

<rewrite> 
    <rules> 
    <rule name="Rewrite Language"> 
     <match url="/([a-z]+)/([_0-9a-z-]+)" /> 
     <action type="Rewrite" url="{R:2}?lang={R:1}" /> 
    </rule> 
    </rules> 
</rewrite> 
+0

これはうまくいかないようです。 example.com/en/contact.aspxで私に404を教えてください – MartinHN

+0

私はまだURLの書き換えをしていませんが、アクションタグのURLには先行する '/'の先頭に '/'が必要です一致タグのURL? –

0

を次の使用を検討してください:

<rewrite> 
    <rules> 
    <rule name="Rewrite Language"> 
     <match url="/([a-z]{2})(.*)" /> 
     <action type="Rewrite" url="{R:2}?lang={R:1}" /> 
    </rule> 
    </rules> 
</rewrite> 
+0

動作しません。それは私に404を与えるだけで、本当に書き換えません。 – MartinHN

関連する問題