- ベストアンサー
どんなディレクトリでもindex.phpへ飛ばす方法は?
- どんなディレクトリでもindex.phpへ飛ばす方法について知りたいです。現在はリダイレクトを使用していますが、index.php用のcssが読み込めなくなってしまっています。
- レンタルサーバで使用できる.htaccessを利用してどんなディレクトリでもindex.phpに飛ばす方法を実現したいです。しかし、リダイレクトを行うとindex.php用のcssが正常に読み込まれなくなってしまいます。
- データベースを検索するためには、指定されたディレクトリ名を使用する必要があります。どんなディレクトリでもindex.phpに飛ばして処理できる方法について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>どんなディレクトリでもindex.phpへ飛ばす 「index.phpへ飛ばす」は不適切な表現です。 「index.phpを省略しても読み込む」が良いでしょう。 >レンタルサーバなのでapache設定は.htaccessには書き込めますが、httpd.confには書き込めません。 それも認識の誤りです。 apacheのinsex.*を省略する設定はmod_dir.confで優先順位を決めています。 初期値の順位はindex.html、index.cgi、index.pl、index.php、index.xhtml、index.htmのように設定されています。 従って、目的のディレクトリにindex.html、index.cgi、index.plが無ければ自動的にindex.phpを読み込むはずです。
その他の回答 (2)
- bunjii
- ベストアンサー率43% (3589/8249)
>今ちょっとやってみましたが、何もディレクトリを指定しない場合はindex.phpが読み込まれますが、指定するとnot foundになります。 ブラウザのキャッシュが表示されている可能性があります。 キャッシュのクリアでも同じでしたら目的のディレクトリのファイル名を再確認してみることをお薦めします。 念のために各ディレクトリにあるindex.phpも含めたリクエストで.phpファイルが正常に動作していることを再確認してください。 それでもだめならWebサーバーの管理者に問い合わせないと原因が分かりません。
- bunjii
- ベストアンサー率43% (3589/8249)
回答No.1の一部訂正です。 apacheのinsex.*を省略する設定はmod_dir.confで優先順位を決めています。 ↓ apacheのinsex.*を省略する設定はdir.confで優先順位を決めています。 尚、私のテスト用apache2サーバーではdir.confが/etc/apache2/mods-enabled/にありますのでhttpd.confと同様に修正できないでしょう。
補足
回答ありがとうございます。 今ちょっとやってみましたが、何もディレクトリを指定しない場合は index.phpが読み込まれますが、指定するとnot foundになります。 >http://ドメイン/abc/ >http://ドメイン/eee123/ >http://ドメイン/xyz/ >このようにドメイン直下でどんなディレクトリが指定されても >index.phpに飛ばして処理できるようにしたい >ちなみに目的は指定されたディレクトリ名で >データベースを検索するなどします。 目的はこれですのでこれからまた調べてみます。