質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

解決済

【.htaccess】/new/aaa.html を /news/aaa/ (aaaは固定ではなくどんな文字列でも良い)へリダイレクトさせる方法を教えて下さい。

junyabuki
junyabuki

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

2回答

0評価

0クリップ

972閲覧

投稿2021/12/18 15:55

編集2021/12/19 14:53

前提・実現したいこと

ウェブサイトのリニューアルに伴い、.htaccessを使って
/new/aaa.html を /news/aaa/(index.phpは省略)
へリダイレクトさせたいと考えています。

aaaの部分は、決まったページではなく、
どんな文字列になっていても良いようにルール化したいのですが、
可能なものでしょうか?

###試してみたこと
下記の記述ですと、1つのページでしかルールが適用されません。

htaccess

RewriteEngine on RewriteRule ^aaa.html$ https://www.example.com/aaa/ [L,R=301]

今回は、/new/ディレクトリ以下の全ページに適用させたいです。

htaccess

RewriteRule ^new/(.*).html$ /news/$1/ [R=301] RewriteRule ^.*new/(.*).html$ /news/$1/ [R=301]

これらを試してみましたが、404ページに行ってしまいます。

補足情報

.htaccessのキャッシュを更新できるよう、Chromeの開発者ツールで
「キャッシュの削除とハード再読み込み」を使用して確認しています。

リニューアル後のサイトはWordpress(5.8.2)を利用しております。
上記のことを実現させるのに適したプラグイン等をご存知でしたら
.htaccessを直接書く方法ではなくても結構です。

追加情報

他の記述が干渉してしまっている可能性もあるため、全体を掲載します。
他にも変な記載になってしまっているところがありましたら
ご指摘いただけますと幸いです。

htaccess

# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress # BEGIN-HTACCESS # このBEGIN-ENDはヘテムルコントロールパネルから挿入されました。編集しないようにお願いします。 AuthUserFile /aaa/bbb/ccc/.htpasswd AuthGroupFile /dev/null AuthName "please input ID/PW" AuthType Basic require valid-user # END-HTACCESS #追加ここから <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / #index.html/phpのありからなしへ統一 RewriteCond %{REQUEST_URI} ^.*/index.(html|php)$ RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301] #httpからのアクセスをhttpsに統一 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301] #wwwなしをありに統一 RewriteCond %{HTTP_HOST} !^www. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301] #/products/から/products-list/へのリダイレクト RewriteRule ^(.*)products/$ https://%{HTTP_HOST}/products-list/ [R=301] #/new/aaa.htmlから/news/aaa/へのリダイレクトテスト RewriteRule ^new/(.*).html$ /news/$1/ [R=301] RewriteRule ^new/(.*).html$ https://%{HTTP_HOST}/news/$1/ [R=301] RewriteRule ^.*new/(.*).html$ /news/$1/ [R=301] RewriteRule ^.*new/(.*).html$ https://%{HTTP_HOST}/news/$1/ [R=301] </IfModule> #追加ここまで

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

CHERRY

2021/12/19 11:41

うまくいかないということですが、.htaccess に他の Redirect や RewriteRule の記載はないでしょうか。 他の条件と重なっていて、そちらの条件が優先されているということはないでしょうか。
junyabuki

2021/12/19 11:52

ご回答頂き、誠にありがとうございます。 htaccessに追加した行をすべて掲載しました。 ご確認いただけますと幸いです。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。