我對重寫地圖相當陌生,但我們確實讓我們的工作在一個非常基礎的層面。在網站重新設計之後,我們建立了一個廣泛的重寫地圖(數千個規則),將舊頁面指向新頁面。我們遇到的麻煩是我們必須爲同一頁面添加多個值才能重寫。重寫地圖規則以匹配任何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] $如果所有的網址都包含「about」,但它們不包含,那麼這將很棒。
另請注意,我們不是通過目錄重定向,而是通過文件名進行重定向。這就是我們的CMS設置爲不使用.aspx擴展名,所以任何擴展都可以工作。
我想要的是隻需要有看起來像每個URL一個規則: 「http://www.abc123.com/about」,它會指向上述所有的變化到新的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>
任何有識之士將不勝感激。
我承認我不知道什麼是rewitemap,但你可以嘗試類似'match url =「。+ about $」' –
正則表達式匹配什麼輸入?和正則表達式不匹配的是什麼輸入? – Whothehellisthat