htaccessファイルを使ってサブディレクトリを使用したサイトのwwwを無しに統一する

実現したいこと

htaccessファイルを使ってサブディレクトリを使用したサイトのwwwを無しに統一する
https://www.hogehoge.net/example/
にアクセスしたときに、
https://hogehoge.net/example/
にリダイレクトする

前提

※初心者です
www無しのリダイレクトをかけたいと思い、試行錯誤して最終的にうまくいったけど、なぜうまくいったのかわからないので納得いかない
メインサイトのURL→https://hogehoge.net/
サブディレクトリを使用したサイトのURL→https://hogehoge.net/example/
https://www.hogehoge.net/example/
にアクセスしたときに、
https://hogehoge.net/example/
にリダイレクトしたい

試したこと

①htaccessファイルに以下を記述した
※¥は本当はバックスラッシュです。質問したら非表示になったのでこのように書きました。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www¥.hogehoge¥.net/example/
RewriteRule ^(.*)$ https://hogehoge.net/example/$1 [R=301,L]

②うまくリダイレクトが効かないので、いろいろ試していると以下の記述でうまくいった

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.hogehoge.net$
RewriteRule ^(.*)$ https://hogehoge.net/example/$1 [R=301,L]

③上記に対する疑問点
・正規表現ではドット(.)は「¥.」と記述すると覚えていたのですが、そう記述するとうまくいかず、普通に.で書いたらうまくいったのはなぜでしょうか。※¥は本当はバックスラッシュです。

・②の記述の場合、https://hogehoge.net/example/
だけでなく
https://www.hogehoge.net
にアクセスしたときにも
https://hogehoge.net/example/
にリダイレクトされてしまうのでは?と思ったがそうならなかったのはなぜなのでしょうか。

初心者質問で申し訳ありませんが、お力添えいただいただきたいです。

コメントを投稿

0 コメント