• ベストアンサー

localhost/~.php で404エラー

初心者です。PHPを勉強したいのですが、 localhost/phpファイル名 に接続すると、404 not found になってしまいます。 OSはmacです。 /Library/WebServer/Documentsに、CotEditorで作成したtest.phpを入れましたが、 http://localhost/test.php に接続しても404エラーになります。 http://localhostに接続するとIt worksと表示されますし、 PHPのLoadModuleの設定も有効になっております。 どういった原因が考えられるでしょうか。

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

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.3

前の質問 http://okwave.jp/qa/q8176108.html の通りにMacPortsでインストールしているのでしたら、No.2で指摘されているように /Library/WebServer/Documents/ を使っていません。 /opt/local/apache2/htdocs が使われているはずです。MacPortsでインストールしたものは、基本的には/opt/local/を使うように設定されていますので、その中を探してみてください。 /opt/local/etcに設定ファイルが入っていることが多いです。 前回の質問で、起動に $ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist を使うとのリンクを紹介しましたが、 $ sudo port load apache2 でできるようです。どちらもできますが、こちらの方が簡単です。切るのは $ sudo port unload apache2

Terutry
質問者

お礼

そのディレクトリに入っておりました。 二度も助けていただいてありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kenipi
  • ベストアンサー率29% (44/150)
回答No.2

404ですから、基本的には「ファイルがない」ということになるかと思います。 (1) ファイル名が違う (2) ディレクトリが違う (3) サーバーのドキュメントルートが違う などが考えられます。 まずは /Library/WebServer/Documents/index.html.en の文言を"It works!!!"などに 修正してみて、http://localhost/ を見たときにその修正が反映されるかを見ては どうでしょう。 反映されない場合は、Document Rootが別のところになっています。 問題ない場合は、ファイル名が違うことが考えられます。 作成したファイルが" test.php" (先頭にスペース)などになっていないかどうか、 チェックされてはどうでしょう?

Terutry
質問者

お礼

ドキュメントルートが違っておりました。 分かりやすい回答をありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

そのディレクトリに "It works"と書かれたindex.htmlとかは存在するのですか?

Terutry
質問者

お礼

入っていたのですが、ドキュメントルートが違っておりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • XAMPPのlocalhostについて

    最近PHPを勉強しようと思いXAMPPをインストールしたのですが、「http://localhost」にアクセスしたときの動作がおかしいので困っています。 症状を説明すると、XAMPPからApacheを立ち上げてlocalhostにアクセスすると「It work!」という表示が出ます。ここまではいいのですが次に「http://localhost/xampp」に接続すると「Not Found」が出てしまいます。 またxampp/htdocsのフォルダの中に、自分で作ったhtmlを入れ、そこにアクセスしようとしても「Not Found」が出てしまいます。 そこで不思議に思い、htdocs内のindex.htmlの内容を変更したのですが元の内容のままの「It work!」が表示されます。 そこで、これは参照元が違うのかと思いCドライブすべてのindex.htmlを検索しましたが、「It work!」を表示するhtmlは見つかりませんでした。 また、localhost/index.htmlや127.0.0.1/でもアクセスすると「It work!」が表示されます。 これは何が原因でこんなことがおきているのでしょうか?お返事お待ちしております。

  • phpの設定について

    初めて書込みします。 php初心者です。 現在、apacheはインストールでき、http://localhost/で It Works!は表示されました。 phpをインストーラでいれましたが、http://localhost/test.phpで みてみると何も表示がされず真っ白です。 「ページが表示されました」とはでてるのですが、いったい何が原因かわかりません。 何か考えられる原因があれば教えてください。

  • localhostでphpのページが表示されません

    サーバ、プログラム初心者です。 phpの勉強をしようと以下の環境を準備しました。 環境 windows8.1(64bit) PleiadesAllInOne (Eclipse4.3) Pleiadesをインストールし、XAMPPでapacheを起動しました。 phpのプロジェクトを作成し、簡単なサンプルプログラムを用意して、 ブラウザからアクセス(localhost/test/sample.php)してみたのですが、以下のようなメッセージが表示されてしまいます。 Object not found! 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 Error 404 localhost Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 webで調べたのですが、ローカルでphpをテストする分には、特に設定も必要ないみたいなので、問題がわかりません。 どなたか教えていただけないでしょうか?

    • 締切済み
    • PHP
  • localhostにフォルダーを作ってphpファイルを保存したい

    まったくウェブデザインの初心者です。 phpファイルを自分のPCの中に保存して、そこにhtmlファイルを飛ばして、phpで返事のページが来たらと思って、Apache(mirror)やphpをインストールしました。http://localhostを出すと、It worksと今、出ます。これってうまくインストールできてるということでしょうか? さて、そこで、.phpファイルを作って、そこに保存したいのですが、 その先がわかりません! まずphpフォルダーをどこに作ればよいか?わかりません。 localhostて、いったいどこにあるんでしょうか? フォルダーができたら、今度phpファイルを保存する時、 名前をつけて保存で、どこに保存するんでしょうか? localhostて場所が出てこないですが? PCは、Xpです。 よろしくお教えください。

    • ベストアンサー
    • PHP
  • php4_moduleをロードしようとするとApache2が起動してくれません

    PHPカテゴリー(http://oshiete1.goo.ne.jp/qa3192818.html)で質問した件ですが、 問題点が判明したので、サーバーカテゴリーにて新規に質問させていただきます。 Win98+Apache2+PHP4の環境を構築していて、Win98を再起動すると、Apache2が起動しなくなります。 http://localhost/にアクセスしても「ページが表示できません」となってしまいます。 問題を切り分けていったら、httpd.confに記述した下記の一行があるのがいけないみたいです。 どう解決すればいいのでしょうか? LoadModule php4_module "c:/php/sapi/php4apache2.dll" ここをコメントアウトして、OSを再起動し、http://localhost/にアクセスすると きちんと「It works!」を表示できるのですが、ここがあるとダメみたいです。 ・LoadModule php4_module c:/php/sapi/php4apache2.dll(クォーテーションで囲まない) ・LoadModule php4_module "c:\php\sap\php4apache2.dll"(スラッシュを円に) などとやってみましたが、これらでもNGでした。 前質問(http://oshiete1.goo.ne.jp/qa3192818.html)の#3さんに > ・dllが対応していない(PHPサイトのは非対応)php4apache2.dll-php4.4.x.zip > ​http://www.apachelounge.com/download/​ > LoadModule php4_module "c:/php/sapi/php4apache2.dll" と教わったので、こっちのphp4apache2.dllを入れてみましたがやはり http://localhost/にアクセスしても「ページが表示できません」となってしまいます。 (蛇足:前質問で、他のPCからアクセスすると「It works!」と表示できたと書きましたが、  あれはブラウザのキャッシュの「It works!」が表示されていただけのようです。)

  • PHP5のインストールできてるかの確認

    PHP5のインストールできてるかの確認 Apache_2.0.59とphp-5.2.12-Win32を導入後 http://kuronuko.com/apache_php.html を参考に同じように環境設定を済ませたのですが、 最終確認の際、<?php phpinfo(); ?> を 記述したtest.phpをブラウザのアドレスに http://localhost/test.phpと入力してみると 確かに『PHP5のバージョン番号やロゴ画像』の表示がされたのですが、更新をすると 『Not Found The requested URL /test.php was not found on this server.』 と表示されてしまいます。 次に、http://127.0.0.1/test.phpをブラウザに入力すると 『Web ページが見つかりません』 と表示されてしまいます。 これはPHPをインストールできている状態なのでしょうか わかる方がいらっしゃいましたらご回答宜しくお願い致します。 また、PHP5を導入する為、たくさんのサイトを参考にしたのですが、 初心者でも簡単に導入できるサイトがありましたらご紹介宜しくお願いします。

    • ベストアンサー
    • PHP
  • PHP4.4.1+MySQL4.1.18 接続エラー

    PHP4.4.1+MySQL4.1.18の環境でMySQLに接続したいのですが、 接続できず困っています。 表示された内容 ============================================= Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /Library/WebServer/Documents/ken1.php on line 8 私なりに検索サイトなどで調べた結果、 http://dev.mysql.com/doc/refman/4.1/ja/old-client.html にたどりつきましたが、 mysql> UPDATE user SET Password = OLD_PASSWORD('mypass') -> WHERE Host = 'some_host' AND User = 'some_user'; のコマンドがエラーで帰ってきます。 エラー内容 ============================================= ERROR 1046 (3D000): No database selected PCの環境 Mac OSX 10.3.9 PHP4.4.1 MySQL4.1.18 以上です。 初心者で申し訳ありませんが、 どなたか教えて下さい。

    • ベストアンサー
    • MySQL
  • localhost:8000にしないとサイトが表示されない

    localhost:8000にしないとサイトが表示されない これからPHPを学びたくて、Windows XP Pro SP2に下記をインストールしました。 ・Apache2.2.16 ・PHP5.3.3 ・MySQL5.1.51 PHPも動きますし、HTMLも表示されているのでソフトのインストールは正常にできていると思うのですが、http://localhost/test.php ではサイトが表示されず、 http://localhost:8000/test.php ですとサイトが表示されます。 調べるとポートを他のソフト?で使われている?ような検索結果が出てきたのですが、どうしたらhttp://localhost/test.phpでサイトが表示できるようになるのでしょうか。 自分のパソコンでPHPを学ぶ環境としては、このままでも学べるとは思うのですが、どうして:8000をつけないと表示できないのか、何かを解決すれば:8000なしで表示できるようになるのか、できればすっきり理解したいなと思いました。 初心者なので、ヘンな質問かもしれませんが、わかるかた教えてください。よろしくお願いいたします。

  • eclipseのlocalhostの設定について

    Pleiades All in One 4.3.0.v20130626 Ultimateを使っているのですが、実行しようとするとObject not found!と出てきます。PHP実行可能ファイルの設定は正しく行われていると思います。 気になっているのが、localhostはApacheではxampp\htdocsですが、eclipseで実行しようとしているプログラムはC:\workspaceにあります。 eclipse側のlocalhostは、どこかで設定する箇所はあるのでしょうか? デバッグの構成や、そこのPHPサーバのlocal Web Rootあたりをいじったりしましたが、上手く動きません・・・。結構ハマっているので、ご教授頂きたいです。よろしくお願いします。

    • ベストアンサー
    • PHP
  • Apache使ってphpでMySQLへアクセスが…

    Macを使っているものです. 最近phpでMySQLにアクセスしようということに取り組んでいます. しかし,apacheがよくないのかmysqlがよくないのか適切に動作してくれません. よくわからないので,手順を書いて問題を言及してみました... 何がいけないのでしょうか... --------- Apacheはデフォルトで入ってるはず・・・ apacheの設定ファイルhttpd.confのポートを8080に設定(これで競合はないはず・・・) ↓ [1]URLにhttp://localhost:8080/とうつと,Apacheのテストページではなく,It works!と出る ↓ とりあえず,Siteフォルダにphpファイルを置き,hello worldを表示.できた(じゃあ,動いてるのかな?) ↓ コマンドラインから「apachectl start」を実行「Already loaded」 じゃあ,動いてるっぽい ↓ じゃあ,DBアクセス用のphpを動作させよう!MySQL導入 ↓ 設定ファイルphp.iniのパスがおかしかったので,mysql.default_socket=/tmp/mysql.sockに変更 実際にcdで移動し,ファイルがmysql.sockがあることを確認 ↓ よーし,実行だ!http://localhost:8080/db_access.php→Not Found あるぇ?なんでだ? ↓ http://(ip直打ち):8080/db_access.php→表示! でも,ソースコード内に以下の記述をしている(簡略化して書きます) ********** $url="localhost" $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); <html>接続ID:<?=$link ?></html> ********** なのに,結果は :::::::::: 接続ID: :::::::::: という風になにも表示されない(・ω・` 結果が「MySQLへの接続に失敗しました。」なら,そもそもMySQLに接続できてないんだろうけど,結果だけがかえってこないのはなんでだろう. ちなみに,$urlをip直打ちにしたらブラウザに怒られた.そりゃそうだよな. --------- という流れで今に至ります. おそらく[1]の時点が問題かと自分では思うのですが,原因がわかりません. ご助言おねがいいたします.

    • 締切済み
    • PHP