を付けずに取得.NET RewriteMap命令は、古いURLのために働くためには、新しいURLに古いURLをリダイレクトします。次のようにルールは現在、次のとおりです。私は(301)に私のweb.configファイル内RewriteMap命令を使用しているとか、スラッシュ
<rule name="Localhost Rewrite Rules" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(.*\.)?example\.com$" />
<add input="{lhRewrites:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" appendQueryString="false" url="{C:1}" redirectType="Permanent" />
</rule>
を、これは各ドメイン名に特異的なルールの大きなセットの一部であるようなパターンintentiallyハードコード、ドメインに注意してください。だから私は一般的にルールを最適化したり書き直したりするつもりはない。
rewriteMap.configファイルには、次のリダイレクトが含まれています。私はhttp://example.com/old
を訪問したときに
<rewriteMap name="lhRewrites">
<add key="/old" value="/new" />
</rewriteMap>
現在、ルールが正常に動作します - それはhttp://example.com/new
にリダイレクトします。 「古い」URLの末尾にスラッシュすなわちhttp://example.com/old/
を含む場合
しかし、それは動作しません。古いURLに後続のスラッシュがあるかどうかに関係なく動作する必要があります。
私は、マッピングキーのすべてを複製する必要がないことを好むだろう。
多くのありがとうございます。