.htaccessファイルの配置場所について

このQ&Aのポイント
  • http://ooo.com/とhttp://ooo.com/b/という二つのディレクトリでサイトを分けていた場合、.htaccessファイルはhttp://ooo.com/にだけ置けば良いですか?
  • モバイル用サイトのhtmlファイル内でPHPを動かすために、二つのディレクトリにそれぞれ.htaccessファイルを置いてみましたが、http://ooo.com/の.htaccessファイルが優先されてしまいました。
  • 現在、http://ooo.com/b/の.htaccessファイルは削除し、http://ooo.com/の.htaccessファイルのみで動作していますが、これで問題ないでしょうか?
回答を見る
  • ベストアンサー

「.htaccess」は一番上のディレクトリだけ?

http://ooo.com/  ←PC用サイト http://ooo.com/b/ ←モバイル用サイト と、サイトを分けていた場合ですが、「.htaccess」は一番上のhttp://ooo.com/にだけ置いておけば良いのでしょうか? 「.htaccess」を使って、モバイル用サイトのhtmlファイル内でPHPを動かすというのをやろうとしていました。 この二つのディレクトリにそれぞれ置いてみたのですが、どうやらhttp://ooo.com/に置かれた「.htaccess」を見ているようで、それに気づかずhttp://ooo.com/b/の「.htaccess」をいじっては不具合というような目にあいました。 現在、http://ooo.com/b/の「.htaccess」は削除して、http://ooo.com/の「.htaccess」ですが、ちゃんとPHPは動いているようです。 「.htaccess」については詳しくないのですが、このファイルは一番上のところに一つだけ置いておけば良いというものなんでしょうか? 動いてはいますが、今のままで良いのか不安です。

noname#240914
noname#240914
  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

http://httpd.apache.org/docs/2.2/howto/htaccess.html#how に 「.htaccess ファイルの設定ディレクティブは .htaccess ファイルの存在するディレクトリと、そのサブディレクトリすべてに適用されます」とあります。 上位ディレクトリの .htaccess の設定が下位ディレクトリでも使われるので、上位と設定を変えたいということがなければ、下位のディレクトリに .htaccess を置く必要はありません。

noname#240914
質問者

お礼

だから下位フォルダでいじっても反映されなかったんですね。 ありがとうございます。助かりました。

関連するQ&A

  • .htaccess でのディレクトリを隠す方法について

    例えば、URLが、http://example.com/img/ で、 このimg ディレクトリ内のファイルを見られたくない場合、 通常は、index ファイルを設置しますが、 ディレクトリの数が多い為、いちいち設置が面倒なので、 .htaccess でindex を設置しなくても、/img/ 内のフォルダを 隠す方法があるみたいです。(Basic認証とは違います。) その方法を教えて下さい。

  • .htaccess記述、ディレクトリ→特定ファイル

    .htaccessの記述についてお伺いさせてください。 現在、特定のディレクトリにアクセスがあった際に、特定のファイルに転送したいと設定を試しているのですが、上手くいきません…。 ディレクトリからディレクトリでは無く、ファイルからファイルでもありません。 同じドメイン内で、特定のディレクトリ以下の全てのファイルにアクセスがあった場合、特定のファイルに転送したいです。 具体的には、 /hogehoge/ こちら以下にアクセスがあった際、 /mogemoge/hage.html といった具合に、ピンポイントで転送表示を行いたいと考えています。 再度ですが、ドメインは同一内で行い、/hogehoge/ → /mogemoge/hage.html といった具合に指定ファイルに転送を掛けたいです。 .htaccessの記述にお詳しい方いらっしゃいましたら、アドバイスのほどよろしくお願いします。

  • .htaccessのサーバー負荷について

    カテゴリが正しいかわからないのですが、htaccessのサーバー負荷についてお教え頂ければと思います。 htmlでphpを表示するために.htaccessファイルをサーバーに沢山置いています。(事情があって1サーバー内の数百のディレクトリにおいています) これってサーバーに負荷が掛かっている状態でしょうか? もし掛かっているなら、これを一番上のディレクトリに持ってきて1つにしても同じでしょうか? サーバーのことはよくわからない素人ですがお教え頂ければ嬉しいです。

    • ベストアンサー
    • HTML
  • .htaccessでのRewriteRuleが下層ディレクトリに効かない

    現在一番上の階層にドメインを適用しており、そこでwww有りと無しを統一する為、.htaccessに以下のように記述しています。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.example\.com)(:80)? RewriteRule ^(.*) http://example.com/$1 [R=301,L] これで、http://www.example.com/ は http://example.com へ、 下層ディレクトリの http://www.example.com/sample/ は http://example.com/sample/ と、 上記のようにリダイレクトしてくれますが、下層ディレクトリの中に掲示板スクリプトを設置しているものがありまして、 そのディレクトリ(/bbs)の中にも、スクリプトのURL書き換えの為のRewriteRuleを記述した.htaccessを設置しています。 ※このディレクトリ(/bbs)のRewriteRuleには、RewriteCond %{HTTP_HOST} は記述していません。 ここで困った事に、http://www.example.com/bbs/ にアクセスすると、そのままwwwが付いたURLがそのままアドレスバーに表示され、 www無し(http://example.com/bbs/)にリダイレクトしてくれません。 .htaccessを設置していない(RewriteRuleを記述していない)下層ディレクトリは、上層ディレクトリに記述しているRewriteRuleの継承をしてくれる為、http://example.com/sample/ のように表示(リダイレクト)されますが、上記の/bbs ディレクトリなどに対しても、上層のRewriteRule を引き継げる方法は無いでしょうか? 色々調べて、RewriteOptions inherit というのも見つけたのですが、/bbs ディレクトリの.htaccessに記述しても、 トップページ(http://example.com/)へリダイレクトされてしまい、どうすれば良いか悩んでおります。 環境は共用レンタルサーバで、 Apacheのバージョンは1.3.39 (Unix)。 httpd.confは自分では設定する事が出来ません。 上層ディレクトリのRewriteRuleを引き継げない場合、/bbs ディレクトリの.htaccessにはどのように記述すれば www無し(http://example.com/bbs/)になるのかでも勿論構いません。 もし良い方法がありましたらご教示頂けますと幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • .htaccessでの振り分け

    .htaccessでのPC・携帯からのアクセスを振り分ける方法を教えてください。 PC用URLが、hoge.com/pc/index.html 携帯用URLが、hoge.com/index.html にしたいと考えています。(既に携帯用ページは存在し、モバイルクローラーも回ってきている為、PC用ページのurlを/pc/にしたいため) 多くの過去質問、webサイトでは、携帯からのアクセスを/m/などの下位層へふるものはありましたが、PCアクセスを下位ディレクトリに振る方法を教えてください。 ※参考URLまたは、.htaccessの具体的な記述を教えてください。

  • .htaccessで

    .htaccessを用いて、ある特定のディレクトリ以下にアクセスされた 場合にだけ、指定したphpファイルへ飛ばすような設定をしたいと 考えています。 サーバー全体的には「ErrorDocument 404 /xxx/xxxxxxx.php」と言う 設定がされてあり、同じように特定のディレクトリでError 404が 検出されたときだけ上記とは違うphpファイルに飛ばしたいのです。 色々試してみて、「RewriteRule」で特定のディレクトリ以下への アクセスを指定したphpファイルへリダイレクトさせるようには 出来ているのですが、「ErrorDocument」で出来れば、そちらの方が 後に良いかもしれないと考えております。 良い方法は、ありませんでしょうか。

  • .htaccess について

    質問させていただきます。 ロリポップで「.htaccess」までは作れたのですが、「.htaccess」を設置ディレクトリのファイルが作れません。 この言い方でよいのか、不安なのですが…。 具体的に、例えば「.htaccess」設置ディレクトリを「abc/」としました。 すると、アクセス制限をかけたいファイルの名前は「abc/top.html」になるんだと理解しています。 そこで、topページを作ってファイル名を書いて保存するとき、「abc/top.html」と書こうとすると、「上記のファイル名は無効です」とエラーがでます。たしかにファイル名に「/」は使えないな、とわかっているのですが、だったらどうやって「.htaccess設置ディレクトリ」の「abc/」が入ったファイルを作れば良いのでしょうか? 私が書かなくても勝手に「abc/」がつくのかな?と思い、ファイル名を「top.html」だけにしてみても、やっぱり「abc/top.html」にはなっていませんでした…。 どうすればよいのか、さっぱりわかりません。 わかりにくい質問かと思いますが、お答えよろしくお願いいたします。

  • .htaccessによるアクセスについて

    すみません。 急ぎで対応したいことがあり、教えていただきたく参りました。 WordPressでKtaiStyleと言うプラグインを利用して、 携帯サイトを構築しました。 閲覧は携帯からのアクセスのみに限定したくて、管理はPCでと 思っています。 WordPressのインストールディレクトリ(携帯でhttp://xxxx.com)として 最初に見えるページ(トップページ)に携帯からのアクセスのみ 許可する.htaccessをおきました。これにより、携帯からは閲覧できて、 PCから閲覧は出来なくなりました。目的の半分は達成です。 次に、管理画面にPCからアクセスしたいのですが、 管理画面のディレクトリは1階層下にあります。 管理画面のアドレスを直接PCブラウザに入力しても、上のディレクトリに 設置してある.htaccessが効いていて表示がされません。 \root ・・・ ドメインルート \root\admin ・・・管理画面ディレクトリ として、 1.ドメインルートに設置のhtaccessを編集 2.adminディレクトリにもhtaccessを設置 上記、どちらの方法が良いと思われますか? また、.htaccessにはどのように記述したらよいでしょうか。 よろしく、ご教授お願いします。

  • 【PHP・.htaccess】PCと携帯の振り分けについて

    【PHP・.htaccess】PCと携帯の振り分けについて お世話になります。 PHP・.htaccess共に初心者なのですが、 PCサイトと携帯サイトの振り分けで悩んでいるので宜しくお願い致します。 現在の構成が http://sample.com/ ←トップページ(PHPファイルのみ。各トップへ振り分け) http://sample.com/pc/ ←PCトップページ http://sample.com/mo/ ←モバイルトップページ(.htaccessでIP制限。PCからのアクセスはトップへ) ---------------------------------------------------- 振り分けPHP(http://sample.com/) <?php $agent = $_SERVER['HTTP_USER_AGENT']; if(preg_match("/^DoCoMo/i", $agent)){ header("Location: http://sample/mo/"); exit; }else if(preg_match("/^(J-PHONE|Vodafone|MOT-[CV]|SoftBank)/i", $agent)){ header("Location: http://sample/mo/"); exit; }else if(preg_match("/^KDDI-/i", $agent) || preg_match("/UP.Browser/i", $agent)){ header("Location: http://sample/mo/"); exit; }else{ header("Location: http://sample/pc/"); exit; } ---------------------------------------------------- となって居ますが、都合により http://sample.com/ ←PCトップ モバイルからのアクセスはmoに振り分け。 http://sample.com/mo/ ←モバイルトップページ。(.htaccessでIP制限。PCからのアクセスはトップへ) 上記の形に切り替えたいと思っています、 PHPを使って振り分けをしたいと思っているのですが、 上記の形を再現する事は出来ますでしょうか? また、.htaccessを利用する事により解決が出来るのであれば、 そちらもご教授いただけると幸いです。

    • 締切済み
    • PHP
  • .htaccessについて

    サーバーでのディレクトリ構造が以下のようになっています。 /home  └ source     └ sample.php sample.phpはURLでは「http://www.hoge.com/source/sample.php」です。 このsample.phpは他のphpやjavascriptから呼び出されるファイルなのでユーザーが直接アクセスできなくしたいです。 そこでsourceフォルダに.htaccessを設置しましたが他のphpやjavascriptからも呼び出しできなくなってしまいました。 ------------------ order deny,allow deny from all allow from hoge.com ------------------ どのようにすればユーザーからは直接アクセスできないようにし、他のphpやjavascriptからのみ呼び出しできるようになるのでしょうか? javascriptからも呼び出す必要があるためこのphpファイルをhomeより上位には置けません。 どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう