1

次のエントリを含む外部の「rewritemaps.config」ファイルがあります。

<rewriteMaps>  

    <rewriteMap name="Cat1">
        <add value="2" key="wheels-and-castors" />
        <add value="3" key="agricultural" />
        <add value="4" key="hydraulic-hose-and-fittings" />
        <add value="5" key="engineering-plastics" />
        <add value="6" key="sealing-and-jointing" />
        <add value="7" key="health-and-safety" />
        <add value="8" key="hose-and-ducting" />
        <add value="9" key="hose-couplings-and-clamps" />
        <add value="10" key="general-consumables" />
        <add value="11" key="ceramics" />
        <add value="12" key="rubber-and-polyurethane" />
    </rewriteMap>

</rewriteMaps>

次のような URL を書き換える方法: http://www.domain.com/wheels-and-castors/

次へ: http://www.domain.com/category.asp?catID=2

これは書き換えであり、リダイレクトではないことに注意してください。

最終リライトラインまであと少しだと思いますが、試合やコンディションに苦戦しています。私の現在の最終的な書き換え行は次のとおりです。

<action type="Rewrite" url="category.asp?catID={Cat1:{C:1}}" appendQueryString="false" />

(ここで、Cat1 は私の rewriteMap の名前です)

助けてくれてありがとう。乾杯、クリス。

4

1 に答える 1

1

わかりました、調査と試行錯誤の良い週の後、私はそれを機能させました. 外部の「rewritemaps.config」を参照する、私が使用している完全なルールを次に示します。

<rule name="Match Category URLs" stopProcessing="true">
    <match url="^(?![^/]+?\.(?:css|png|jpg|axd)$)([^/]+)/?$" />
    <conditions>
        <add input="{URL}" pattern="(.asp|.xml)" negate="true" />
    </conditions>
    <action type="Rewrite" url="category.asp?catID={CatMap:{R:1}}" appendQueryString="false" />
</rule>

今は完璧に動作します。

PS。rewriteMap の名前を「CatMap」に変更しました (これに従うと混乱しないようにするため)。

于 2012-11-07T12:53:26.540 に答える