.aspxをURLから削除する方法


以下に、いくつかの方法とそれぞれの具体的なコード例を示します。

  1. リダイレクトを使用する方法:

    • サーバーサイドのコード(例:C#)で、URLのリダイレクトを行います。
    • リクエストが.aspxで終わるURLにアクセスされた場合、リダイレクトを行って.aspxを省略したURLに遷移させます。
    protected void Page_Load(object sender, EventArgs e)
    {
       if (Request.Url.ToString().EndsWith(".aspx"))
       {
           string newUrl = Request.Url.ToString().Replace(".aspx", "");
           Response.Redirect(newUrl);
       }
    }
  2. ルーティングを使用する方法:

    • ASP.NETのルーティング機能を使用して、URLのパターンに基づいて正しいページまたはハンドラーにルーティングします。
    • ルーティングの設定で、.aspxを省略したURLパターンを指定します。
    void Application_Start(object sender, EventArgs e)
    {
       RouteConfig.RegisterRoutes(RouteTable.Routes);
    }
    public static void RegisterRoutes(RouteCollection routes)
    {
       routes.MapPageRoute("Default", "{page}", "~/Default.aspx");
    }
  3. URLリライトを使用する方法:

    • ウェブサーバーの設定でURLリライトを有効にします。
    • リライトルールを追加し、.aspxを省略したURLにリライトします。

    Apacheの場合(.htaccessファイルを使用):

    RewriteEngine On
    RewriteRule ^(.*)\.aspx$ /$1 [L,R=301]

    IISの場合(Web.configファイルを使用):

    <rewrite>
       <rules>
           <rule name="Remove.aspx" stopProcessing="true">
               <match url="^(.*)\.aspx$" />
               <action type="Redirect" url="{R:1}" redirectType="Permanent" />
           </rule>
       </rules>
    </rewrite>

これらの方法を使用することで、.aspxをURLから削除し、シンプルで読みやすいURLを実現できます。選択する方法は、使用しているウェブサーバーとフレームワークによって異なる場合があります。