一覧へ戻る

トレイリングスラッシュ

Google Search Consoleを見ていたら、ページのインデックス登録で登録されていないページがあった。登録されなかった原因はページにリダイレクトがあるから、とのこと。

サイトにアクセスして、ブラウザのアドレスバーにhttps://hayama.me/musicを入力してエンターを押すと、https://hayama.me/music/になる。他のURLも同様に最後に/が付く。

CloudflareのWorkers公式を確認すると、デフォルトはフォルダのindexファイルはトレイリングスラッシュが付けられる。

また、Astro公式を確認すると、デフォルトは、“ignore”でAstro側ではトレイリングスラッシュの有無を強制しない。

astro.config.mjs

まずはAstroで、トレイリングスラッシュを付けないように設定。

export default defineConfig({
  trailingSlash: "never",
  // その他
});

wrangler.jsonc

Cloudflare側でも、wrangler.jsoncに以下を設定。

{
  // その他
  "assets": {
    "html_handling": "drop-trailing-slash",
    // その他
  },
}

上記を設定して、コミット&プッシュ。

確認のためターミナルで、curl -I https://hayama.me/musicを実行すると、HTTP/2 200。そして、curl -I https://hayama.me/music/を実行すると、HTTP/2 307/musicにリダイレクトされる。

どちらが正しいというものではないようだけど、URLの表記を統一できてスッキリ。