2016-12-01 8 views
0

私はマップを書き直すのはかなり新しいですが、私たちは非常に基本的なレベルで作業することができました。ウェブサイトを再設計した後、我々は古いページを新しいものに向けるための広範な書き換えマップ(何千ものルール)を設定する。私たちが抱えている問題は、同じページの複数の値を追加して、書き換えを機能させる必要があることです。URL拡張子に一致するようにマップルールを書き直します

例:

http://www.abc123.com/About --> http://www.abc123.com/about-us 
http://www.abc123.com/About.aspx --> http://www.abc123.com/about-us 
http://www.abc123.com/about/ --> http://www.abc123.com/about-us 
http://www.abc123.com/about.aspx --> http://www.abc123.com/about-us 

正規表現のベースURLの後に何をワイルドカードにする方法があるはず - 私はこのような何かを期待しています:^を。 /[about] $これは、すべてのURLに「約」が含まれていてもそうでない場合に有効です。

また、ディレクトリではなくファイル名でリダイレクトすることに注意してください。 CMSは.aspx拡張子を使用しないように設定されているため、拡張子は機能します。

"http://www.abc123.com/about"のようなURLごとに1つのルールを設定するだけで、拡張子がない場合でも新しいURLにも上記のバリエーションがすべて対応します拡張子は.html、.asp、.aspx、または.whateverです

これは書き換えルールの機能を超えているのでしょうか、抜けているいくつかの基本的な正規表現はありますか?任意の洞察力をいただければ幸いです

<rule name="Redirect Rule for Legacy Redirects" enabled="true" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions> 
     <add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" /> 
    </conditions> 
    <action type="Redirect" url="{C:1}" appendQueryString="false" /> 
</rule> 

:ここ

は、私たちが使用しているルールです。

+0

私はrewitemapが何であるか分かりませんが、 'match url ="のようなものを試すことができます。+ about $ "' –

+1

正規表現はどのような入力にマッチしますか?正規表現と一致しない正規表現 – Whothehellisthat

答えて

0

[のHh] [Ttと] [Ttを] [Ppの]://(([^ /])/) [AA] [Bbの] [ウー] [のUu] [Ttの] *

https://regex101.com/r/rZhJyz/1を参照して、「about-us」をグループ#1のマッチに追加するだけです。

+1

リライトマップには何千ものリダイレクトがあり、ほとんどが「約」ではありませんが、何でもかまいません。ほとんどの場合、URLのそれぞれのケースに対して特定のルールを記述する必要がない方法があるかどうかは疑問です。上記の例では、4の代わりにそれぞれの設定をカバーする1つのルールを書くことを意味します。 – vbertini

関連する問題