私のサイトの統計情報を調べると、数年前から存在していなかった従来のASPページへの第三者のリンク経由で大量のトラフィックが流れることに気付きました今。Intelligencia UrlRewriter regex .aspページを保持ページに使用
私は次のようにweb.configファイルにurlMappingsの束を追加すると、素晴らしいアイデアではなかったので、私はIntelligencia UrlRewriteを追加し、ルールを追加しようとしたことを決めた:
<rewriter>
<redirect url="^/(.*).asp$" to="~/pagenotfound.aspx?page=$1" />
</rewriter>
ルールが機能し、それは/pagenotfound.aspx?page=someurl.aspのように.asp =で終わるすべてのURLを取得します。
おっと:)
私は正規表現について正確に精通していないよ、どのように私はそれが疑問符の文字を、次の「の.asp」を無視して入手できますか?
ダブ、 お返事ありがとうございます。これは動作しますが、それは私の目的を破るようなクエリ文字列で.aspページを取り上げなくなったことを意味します - 私は合法的な.asp URLを検出し、リダイレクトする必要があります。文字列。 Thanksl –
Heya Richard - url正規表現を拡張して.asp拡張の後にクエリ文字列の可能性を追加することができるはずです。上記の例を編集しました。私はそれに文法を釘付けているかどうか確かめてください)。 – Amber
また、最初のピリオド(.asp)の前にあるバックスラッシュを追加しました。そうでなければ、リテラル期間ではなく任意の文字にマッチする正規の正規表現期間として解釈します。 /test.asp?aspのようなものに不適切にマッチする – Amber