WordPressの .htaccessにリダイレクトの記述を追加しても、リダイレクトが効かない
やりたいこと
・.htaccessにて「.html」がないURLに統一(リダイレクト)したい。
WordPressの固定ページを、
今までは「.html」をつけたURLにて運用していたのですが(プラグイン:.html on PAGES にて)、
「.html」を削除した運用に変更するため、
プラグインを無効化し、.htmlがないURLに変更は完了しました。
ですが検索ででてくるURLは「.html」がついているものがインデックスされているため、
.htaccessに以下の記述を追加し、リダイレクトされるようにしたいのですが、
全くリダイレクトされてくれません。
記載したコード
RewriteEngine on # ----------[.html]あり→なしにリダイレクトする記述---------- RewriteRule ^aaa.html$ https://〇〇.jp/aaa/ [R=301,L] RewriteRule ^(.*).html$ $1 [R=301,L] RewriteRule https://〇〇.jp/about.html https://〇〇.jp/aaa/ [R=301,L]
このどれを試しても、
https://〇〇.jp/%5e/aaa [R=301,L]
と表示され、404ページへと移動してしまいます。
ちなみに、これ以外のリダイレクト記述(.htmlをとる記述以外)は問題なくリダイレクトされてくれています。
念のため、この記述の上にある記述も記載しておきます。
RewriteEngine on # ----------URLの正規化:[www]なしで統一する記述---------- RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] # ----------[http] から [https] にリダイレクトする記述---------- RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # ----------[.html]あり→なしにリダイレクトする記述---------- RewriteRule ^(.*).html$ $1 [R=301,L] RewriteRule ^aaa.html$ https://〇〇.jp/aaa/ [R=301,L] RewriteRule https://〇〇.jp/about.html https://〇〇.jp/aaa/ [R=301,L]
何がダメなのでしょうか?
お分かりの方、教えていただければ幸いです。
よろしくお願いいたします。
補足情報
WordPress バージョン:5.8.2
サーバー:XSERVER
PHP バージョン:7.4.25

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/27 14:30
2022/11/27 14:49
2022/11/28 02:32
2022/11/28 10:37