※ ChatGPTを利用し、要約された質問です(原文:下層ディレクトリへのリダイレクトについて)
リダイレクト設定について
このQ&Aのポイント
下層ディレクトリへのリダイレクトについて調べた結果
「.htaccess」を使用して、特定のURLを別のURLにリダイレクトさせる方法について教えてください
具体的なリダイレクト設定として、haru.com/natu/12.htmlをharu.com/natu/aki/12.htmlに、haru.com/natu/13.htmlをharu.com/natu/huyu/13.htmlにリダイレクトする方法について教えてください
リダイレクトをしたくて、調べた結果
これで、いいのかどうか教えていただきたいのですが
よろしくお願いいたします。
(「.htaccess」のことが全く分かっていません)
サーバーはエックスサーバーです。
下記のように
haru.com/の「natu」というフォルダに入っているファイルを
「aki」「huyu」というカテゴリを作り、そこに振り分けたいのです
haru.com/natu/12.html → haru.com/natu/aki/12.html
haru.com/natu/13.html → haru.com/natu/huyu/13.html
haru.com/natu/14.html → haru.com/natu/aki/14.html
haru.com/natu/15.html → haru.com/natu/aki/15.html
haru.com/natu/16.html → haru.com/natu/huyu/16.html
haru.com/natu/17.html → haru.com/natu/huyu/17.html
「.htaccess」の書き方は以下のようになるのでしょうか?
カテゴリ(ディレクトリー)とファイルの関連性がないので
一つ一つ書かなくてはいけないのかなと思ったのですが・・・間違いでしょうか?
RewriteEngine on
RewriteBase /natu
RewriteCond %{REQUEST_URI} !/natu/aki/.*
RewriteRule (.*) http://haru.com/natu/aki/12.html [L,R=301,NE]
RewriteRule (.*) http://haru.com/natu/aki/14.html [L,R=301,NE]
RewriteRule (.*) http://haru.com/natu/aki/15.html [L,R=301,NE]
RewriteRule (.*) http://haru.com/natu/huyu/13.html [L,R=301,NE]
RewriteRule (.*) http://haru.com/natu/huyu/16.html [L,R=301,NE]
RewriteRule (.*) http://haru.com/natu/huyu/17.html [L,R=301,NE]
そして、このように作った「.htaccess」を設置するのは下記の図の場所でいいのでしょうか?
お礼
anmochi さま とても、詳しい説明をありがとうございました。 1行1行の意味を分かりやすく説明してくださって感謝です。 難しい言葉とかもありますが、それは調べてみます。 RewriteMapというのも調べてみます。 ありがとうございます。 上手くいったら、ご報告いたします!!!
補足
anmochi さま 先日は、ご丁寧な回答をありがとうございました。 お陰様で、ちゃんと出来ました。 実は、全部で53個も変換があったので、何とかRewriteMapというものを理解できないか 調べていたのですが、ちょっと私には難しすぎました。 それで、53個書き出して、成功です!! 本当にありがとうございました。 RewriteCondとRewriteRuleの書き方と意味をしっかり勉強します。