人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在、自分のPCでPHPを使える環境を設定しているのですが、htaccessを使用する際にDirectoryIndexを使用するとエラーになってしまいます。
Apacheの何を変更すればよいのか分かりません。
後、エラーにはならないのですが、
RedirectMatch 301 ^([^.]*[^/])$ $0/
も効果がないのですが、わかる人がいたらお願いします。

●質問者: black_kenchan
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache pc PHP エラー 現在
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● ootatmt
●20ポイント

.htaccess による、設定の上書きが禁止されているのでしょう。


インターネットに公開していないテスト環境ですよね?

それなら、httpd.conf に以下のように書いておくといいです。

AllowOverride All

(参考)

http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride

◎質問者からの返答

httpd.confを調べたところAllowOverrideが複数書かれている箇所があり一つずつNoneからAllに変更して試したのですが駄目でした。

全て変えたほうが良いのでしょうか?


2 ● ootatmt
●20ポイント

> 全て変えたほうが良いのでしょうか?


自分のコンテンツを置いているディレクトリの <Directory> セクション に書かれているものだけを変更してください。

バーチャルホストを使用していなければ DocumentRoot の指定の後にある、<Directory> セクションです。

DocumentRoot "/usr/local/apache2/htdocs"

<Directory "/usr/local/apache2/htdocs">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

◎質問者からの返答

なんとかエラーは、おきなくなったのですがDirectoryIndex指定した事が機能しません。

どうしてでしょうか?


3 ● ootatmt
●20ポイント

> なんとかエラーは、おきなくなったのですがDirectoryIndex指定した事が機能しません。


具体的に どういう動作を期待して、どのように記述していますか?


たとえば、

DirectoryIndex index.html index.php

と書いたときに、index.html がないのに index.php にアクセスされないとか...

DirectoryIndex は先に書かれたものから探していきますので、記述する順番が重要ですよ。

◎質問者からの返答

DirectoryIndex test.php index.html index.php

上記のように記述しています。

test.phpはもちろんなのですが、一応index.phpもセットしています。

しかし、どちらも表示されません。

直接test.phpとindex.phpとURLに加えれば表示されるのですが、スラッシュだけだと表示されない状況です。


4 ● ootatmt
●20ポイント

DirectoryIndex test.php index.html index.php

これを記述していて、スラッシュで終わるアドレスにアクセスしたときに test.php も index.php もあるのに、表示されず...なにが表示されますか?

ファイルのリストでしょうか?それともエラー?


このような状況になったときはアクセスログやエラーログを確認することが必要です。

test.php にアクセスしたときのアクセスログとエラーログを見せてもらえませんか?


回答回数があと一回なので、うまく解決できればいいのですが...

◎質問者からの返答

ファイルのリストです。


5 ● ootatmt
●20ポイント ベストアンサー

ファイルのリストが表示されるということは、Optionディレクティブで Indexes が有効になっていて、DirectoryIndex ディレクティブ が無効になっているということですね。


.htaccess の記述を間違えているか、置く場所を間違えている。

もしくは httpd.conf の 記述を間違えていることが考えられます。


一度、.htaccess に

Options -Indexes

の記述を加えて、Indexes を無効にして試してみてはどうでしょうか。

◎質問者からの返答

ありがとうございます。

一応、出来ました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ