ASP.NET MVC 4アプリのRouteConfig.csファイルにルートを追加して、別のルートへの永続的な301リダイレクトを実行するにはどうすればよいですか?
特定の異なるルートが同じコントローラーアクションを指すようにしたいと思います-これは、特にSEOの場合、301がベストプラクティスであると思われますか?
ありがとう。
RedirectPermanentを使用する必要があります。以下に例を示します。
public class RedirectController : Controller
{
public ActionResult News()
{
// your code
return RedirectPermanent("/News");
}
}
グローバルasaxで:
routes.MapRoute(
name: "News old route",
url: "web/news/Default.aspx",
defaults: new { controller = "Redirect", action = "News" }
);
RouteConfigでこれを行う方法を具体的に尋ねたことを知っていますが、 IIS Rewrite Rules を使用して同じことを実現することもできます。ルールはweb.configに存在するため、ルールを作成するためにIISを使用する必要さえありません。単にweb.configに追加するだけで、すべてのアプリで移動できます。環境(開発、ステージング、製品など)およびRouteConfigをクリーンに保ちます。IISモジュールをIIS 7にインストールする必要がありますが、 7.5+にプリインストールされていると信じています。
以下に例を示します。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect t and c" stopProcessing="true">
<match url="^terms_conditions$" />
<action type="Redirect" url="/TermsAndConditions" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>