このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/06(Mon) 17:48
名前: qie
URL:

centosでドメイン名でアクセスしたときの参照先(パス)を調べるには
どうしたらいいですか?

ドキュメントルートは
/var/www/html/ です。

example.com
でアクセスされていて

index.htmlではないどこかのfileを読んでいるようですが
それがどのfileなのかがわかりません。

それがわかれば、そのfileを編集すれば

example.com

でその内容が表示されると思っているのですが・・・。


それがわからなくて質問させてもらっています。
初歩的なことですみませんがご教授お願いいたします。
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/06(Mon) 17:55
名前: 通り
URL:
/var/log/httpd/access_logに
ファイル名がでてこないかな?

tail -f /var/log/httpd/access_log
example.comにアクセスしてみればログが出力される。
そして、例えばexample.fileをfindコマンドで

find / -name "example.file"
とかやればどこにファイルがあるかフルパスでわかるよ。
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/06(Mon) 19:35
名前: qui
URL:

>tail -f /var/log/httpd/access_log
>example.comにアクセスしてみればログが出力される。

こうでてきました。

"GET / HTTP/1.1" 200 6 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0"

"GET / ←これがファイル名にあたるみたいです。
他のファイル名は出てきていますが ドメイントップにアクセスするとlogは / になっています。
そして example.comにアクセスすると白紙でソースも何もないです。
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/06(Mon) 20:17
名前: 通り
URL:
それはドキュメントルートのことですよ。

/var/www/htmlになんかファイルがおいてありませんか?

# ll /var/www/html

恐らく何もかいていないindex.htmlがおいてあるとおもいますが。
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/06(Mon) 20:48
名前: qui
URL:
>それはドキュメントルートのことですよ。
>
>/var/www/htmlになんかファイルがおいてありませんか?
>
># ll /var/www/html
>
>恐らく何もかいていないindex.htmlがおいてあるとおもいますが。

index.htmlがあり、ソースが書かれていて、それ以外はサイトファイルでした。
index.htmlを消してアクセスしてみたのですが白紙でした。

exmple.com/*htmlからexmple.com/*phpにリダイレクトしているのですが
ファイル名を変えずにリダイレクトしているので
exmple.comと入れると白紙がphpに読み込まれているのかもしれません。

試しにリダイレクトを切ってexmple.comにアクセスしてみたら
Forbidden You don't have permission to access / on this server.
となりました。

index.htmlがある状態でのリダイレクトでも白紙で
他の同じ階層のファイルはphpに読み込まれ表示されています。
phpはfile_get_contentsでurlではなくパスで取得しています。
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/07(Tue) 05:09
名前: stranger
URL: http://ja.528p.com/
php主体のサイトでしょうか

index.phpは存在しますか、存在するなら
httpd.confで
DirectoryIndex index.php index.html index.htm
などと設定して
index.phpを最初に読みだすように設定します

または index.htmlでphpのトップページを読み込む設定をします

phpファイルを直接指定してアクセスしてみて、表示できますか
http://example.com/index.php
*.phpを表示できるようにhttpd.confで直接設定するか
httpd.confのIncludeでphpの設定ファイルを読み込んでいますか

error_logも見ましたか
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/07(Tue) 13:34
名前: qie
URL:

複数の*.htmlを1.phpにまとめたようなサイトです。
index.phpはありせん。

temp.phpファイルを直接指定してアクセスできますが
1.htmlを踏んでリダイレクトされてtemp.phpにいかないと白紙になります。
(urlを変えずにリダイレクトさせphpでファイル名を取得しているため)

httpd.confのIncludeでphpの設定ファイルを読み込んでいなくerror_logも見ていません。

サイトの構造もわからないなりに作っちゃっていますので
ちょっとおかしな構造になっていると思います。


exmple.com ←ここへのアクセスはどのファイルを見に行っているのでしょうか?
  |
|-------index.html
|-------temp.php
|-------1.html
|-------2.html


もしそれを設定などで
exmple.com ←ここへのアクセスでindex.htmlを表示など
とできるならそうしてみたいと思っています。
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/07(Tue) 17:21
名前: stranger
URL: http://ja.528p.com/
http://example.com/
でアクセスした場合
DirectoryIndex index.html index.htm
のように設定されていると思いますから
index.htmlを読みにいきます
1.htmlを指定してエラーなく表示できるなら
index.htmlから1.htmlを呼び出すか
1.htmlをindex.htmlにしてしまう

DirectoryIndex( mod_dir モジュール)
https://httpd.apache.org/docs/2.2/ja/mod/mod_dir.html

httpd.confの初期設定では
/var/www/html を /と設定していると思うので
/var/www/html/index.htmlが存在する場合は
http://example.com/
でアクセスした場合
/var/www/html/index.htmlを捜します
/var/www/html/foo/index.htmlが存在する場合は
http://example.com/foo/
でアクセスした場合
/var/www/html/foo/index.htmlを捜します

index.htmlが存在しなくて
Options +Indexes (mod_autoindexモジュール)が設定されていると
自動インデックス生成されて、ディレクトリの中身を表示してしまいます

ディレクトリへの外部からの直接アクセスを禁止することもできます
(htmlファイルから間接的に呼び出す場合など)

中身を表示したい場合もあるので
設定を使い分けてください

蛇足
「○秒後に□□へジャンプします」なページをブロックして
リンク先を表示するFirefoxアドオン「RefreshBlocker」
などもあるので meta http-equiv="refresh"の使用などは注意

index.php
内容
<?php header("1.html"); ?>
記事編集 編集
Re: ドメイン名でアクセス、そのfileは? このメッセージに返信する
日時: 2016/06/08(Wed) 18:38
名前: qie
URL:

すごく詳しく教えてくださり、ありがとうございます。
おかげ様でドメイントップが表示できました。
原因はやっぱり DirectoryIndex でした!。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -