コントローラの名前が変更され、新しいURLにHTTP 301
を追加します。私はRouteConfig
を汚染しないように私はIISからやっている方が好きです。また、リダイレクトに含まれるすべてのパラメータを含める必要があります。IIS 301コントローラ間のリダイレクト(パラメータを含む)ASP.NET MVC
私は、次のすべてを達成しようとしています:
site.com/old
- >301 site.com/new
site.com/old/
- >301 site.com/new/
site.com/old?foo=bar
- >301 site.com/new?foo=bar
- などを
これは私がこれまでに持っているものです私はそれを働かせることができません:
<rule name="Redirect Old to New" pattern="ECMAScript" stopProcessing="true">
<match url=".*\/old.*" />
<action type="Redirect" redirectType="Permanent" url="/new/{R:0}" />
</rule>
@globetrotterは - 私は再び正規表現を更新 - それは '/ old'以前に一致しませんでした。 – NightOwl888
こんにちは、すばらしい答えをありがとう。すべての私のURLは末尾にスラッシュ(/ old /、/ new/etc)が付いています。私はそれをMVCで設定しました。どのように悪いSEOを避けるためにルールを変更する必要がありますか? – globetrotter
私はそれを指定した方法は常に後続のスラッシュを追加するので、そのままあなたのために動作するはずです。スラッシュを使用しないようにするには、正規表現を '^ old(?= \ /)|(?= \?)| $)(/?.*)'に変更する必要があります。 redirect regexを 'new {R:1}'に設定します(おそらくあなたには役に立たないかもしれませんが、他の人は知りたいかもしれません)。 – NightOwl888