重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

.htaccessについて調べているのですが、あるサイトを見ていましたらば、わからない記述がありましたので教えてください。
参考サイト:http://coliss.com/articles/build-websites/operat …(「サブドメインのリダイレクト」部分の内容)

以下、参考サイトより
サブドメインにリダイレクトする場合は、サブフォルダへのアクセスをサブドメインへ向け直します。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(subdomain\.yourwebsite\.com)(:80)?
RewriteCond %{REQUEST_URI} !^/subdomain_folder/
RewriteRule (.*) /subdomain_folder/$1

この記述は、subdomain.yourwebsite.com/subdomain_folder/以外のURLにアクセスがあった場合、
subdomain.yourwebsite.com/subdomain_folder/にリダイレクトするということなのでしょうか?

実際にどういった動きをするのかテストしようとしたのですが、うまくいきませんでした。
どなたかご教授お願いいたします。

A 回答 (1件)

>>リダイレクトする


そういう事なのだが、・・・subdomain_folder/にリダイレクトする訳じゃない。

subdomain.yourwebsite.com/abc.html にアクセスしたら
subdomain.yourwebsite.com/subdomain_folder/abc.html
へアクセスされる。

つまり /subdomain_folder/の下にsubdomain.yourwebsite.com/のフォルダ構造を丸ごと入れておかないとエラーになるワケ。

テストして上手く行かないのは、subdomain.yourwebsite.com/の構造が入っていないから。

さらにRewriteRule (.*) /subdomain_folder/$1とかいてしまうと
タスクバーに表示されるurlは/subdomain_folder/が省略されてしまうから厄介。

省略させたくなければ
RewriteRule (.*) /subdomain_folder/$1 [R=301,L]
と書く。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
/subdomain_folder/の下にsubdomain.yourwebsite.com/のフォルダ構造を丸ごと入れたら上手くいきました。
省略させたくない場合も記載していただき感謝です。

お礼日時:2016/04/21 16:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!