トップページのURLを統一する
- 公開日:2020年8月29日
トップページのURLに"/index.html"がついてしまう問題
index.htmlのリンク経由でトップページに戻ると、トップページのアドレスが"peamon/index.html"になってしまう。
対策として、index.htmlのリンクを絶対パスの"https://peamon.net/"に置きかえたが…。
置きかえる前に調べろと。せっかく置きかえたし、もう、絶対パスのままでいいよ。
相対パスに戻す
しかし、トップページへのリンクを絶対パスにすると、ローカル環境で非常に困る。
これはどう考えても失敗。相対パスに戻し、URLを統一します。
VScodeでは、フォルダごとの一括置換はできない? 少し調べただけだが分からん。
一括置換機能でhttps://peamon.net/を検索して、下にずらっと並ぶ候補から、階層に気をつけつつ、1ページごとに置換していくしかないか。
VScodeのフォルダ内検索は、フォルダを左クリック→【フォルダー内検索】から可能。
置換前後のプレビューも見られるし本当に便利です。
.htaccessの編集
ConoHa WINGでは、.htaccessのファイルを作る必要はなく、コントロールパネルから直接編集が可能。
【サイト管理】→【サイト設定】→【応用設定】→【.htaccess設定】→右側の鉛筆マークをクリック→URLを統一する方法に載っているコードを直接貼りつけ。
最後の行は、必ず改行を入れる必要があるそうです。
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://peamon.net/$1 [R=301,L]
そして、無事に"peamon.net/index.html"が"peamon.net"になっていることを確認。
リンク切れチェック
最後にリンク切れチェックをして終了。エラーなし。
"wwwあり"or"wwwなし"
サーチコンソールに表示されているURLのほとんどが"wwwなし"なんだけど、たまーに"wwwあり"のURLを見かけることがあります。
"peamon.net"でアクセスすると、リンクの色が訪問済みなのに、"www.peamon.net"だと、リンクの色が未訪問のまま。同じページとして扱われていないですね。
まぁ、"wwwなし"でも"wwwあり"でも大差はないらしい。
サーチコンソールに表示されているURLのほとんどが"wwwなし"なので、"wwwなし"で統一しよう。
.htacceceを編集2
当然、自分では書けないので、人の力を頼るしかありません。
いろいろな書き方があるみたいだけど、今回は、一番スタンダードな書き方であるっぽい、キーワードファインダーさんのページを参考にしました。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.peamon\.net$
RewriteRule ^(.*)$ http://peamon.net/$1 [R=301,L]
先に書いた"/index.html問題"と同じく、ConoHa Wingの.htaccess編集は、コントロールパネル→【サイト管理】→【サイト設定】→【応用設定】→【.htaccess設定】から。
リダイレクトチェック
リダイレクトのチェックツールって存在するのか。
.htaccessを編集後に"http://www.peamon.net"をチェック。
- "http://www.peamon.net"
- "https://www.peamon.net"
- "http://peamon.net"
- "https://peamon.net"
3回の"301リダイレクト"が行われていました。これでOK。