【備忘録】.htaccessで自ドメイン内に短縮URLを作る
当サイトのURLは
『https://barnirun.info/wp/noseden/』
ですが、サイト内に転送機能を作成して
というURLを読み込めるようにしました。
経緯としては上の画像の通り。
連番で採番されるpostidに意味を持たせたいときに、
(特定の車両番号と同じ番号の時など)
サイト開設時に長めのURLを設定しちゃったもんだから
Twitter投稿時に
『https://barnirun.info/wp/noseden/?p=…』
とか省略されちゃうんですよね。
かといって、外部サービスの短縮URLでは
「?p=番号」といったパラメータを引き継げるものがなく、
かつTwitterカードに画像が読み込まれない。
また、短いディレクトリ名や別ドメインにサイトごと引っ越してしまうと
SEO対策が1からやり直し(?)。
そこで本稿では、『.htaccess』ファイルを使って
自ドメイン内で短いURLを作ることに成功したので
サイトクラッシュ時の備忘録を兼ねて手順を残します。
<手順>
① FTPソフト等で、自ドメイン内に転送先(今回は『nose』)ディレクトリを作成する。
② 作成したディレクトリに「.htaccess」ファイルをテキストで作成し、アップロードする。テキストの内容は以下の通り。
# BEGIN WordPress
# Redirect permanent / https://barnirun.info/wp/noseden/ [R=301,QSA,L]
RewriteEngine on
RewriteRule ^(.*)$ https://barnirun.info/wp/noseden/ [R=301,QSA,L]
# END WordPress
(※ 転送先のURLは実際のものに読み替えて下さい)
(※ 「#」で始まる行はコメントなので、システム上は不要です)
③ URL転送やTwitterカードの反映テストを行い、うまくいけば完了。
<注意点>
- スラッグ形式のURLには使えません。全てトップページにジャンプします。
- OK例:https://barnirun.info/nose/?p=2145
⇒「https://barnirun.info/wp/noseden/?p=2145」に一度転送された上で、正しくページが表示される。 - NG例:https://barnirun.info/nose/htaccessurl/
⇒スラッグ「htaccessurl」は認識されず、上位ディレクトリにある.htaccessの転送規則でトップページにジャンプする。
- OK例:https://barnirun.info/nose/?p=2145
- ツイートの本文が「.」で始まっていると、ツイート送信後にカードが消える……????
まだまだ謎は多いです。
<おまけ>
- 2024/04/01追加対応:
- 2024年のエイプリルフールネタ対応のため、
https://barnirun.info/seno/
というURLでも、noseと同様にサイトトップにジャンプする設定を追加しました。
(2024/04/01限定でトップに設定していたページはこちら)
- 2024年のエイプリルフールネタ対応のため、
(NOSE KNITs – 能勢電鉄と沿線を応援するサイト!)
ランダム記事表示ボタン