• ベストアンサー
  • 困ってます

IISでcakePHP

現在IIS上でcakePHPを利用してPHPのwebアプリを作成しています。 事情によりrewriteは行わずに作成しているのですが、 URLを指定すると404エラーが返ってきます。 URLは以下です。 http://localhost/test/index.php/posts/index cakePHPはinetpub/wwwroot/test/直下に配置しています。 http://localhost/test/index.php の画面は見れています。 IISでrewriteをせずcakePHPの画面が見れる方法をご存知の方がいましたらご教授願います。 ●環境 windows XP Professional sp3 IIS 5.1 PHP 5.3.5 CakePHP 2.2.2

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数571
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1

IISの設定の問題でしょうか?検索したら、IISがdefault設定ではpath_infoを理解しないらしい話題がいくつか。以下のページはちょっと古いけど、IIS5なら同じ状況かと思われます。 http://moodle.org/mod/forum/discuss.php?d=13910 「IISの.phpのアプリケーションマッピングに「ファイルの存在を確認する」というチェックボックスがあるのですが、これをオフにしないと、file.php/pic.jpg の設定にした場合、ファイルが存在しないというページ(つまり404)が返される。」 あと、cakePHP2.2 なら $_SERVER['REQUEST_URI']から、ページ割りだししてるから、$_SERVER['PATH_INFO']は空でも大丈夫のようです。$_SERVER['REQUEST_URI']のほうにpath_info付きでuriデータが入ってるかの方もご確認下さい。 それから、mode_rewrite が無効の時の、app/Config/core.php の変更はお済みですか? コメントアウトの // を削除し、以下の文を有効にします。 Configure::write('App.baseUrl', env('SCRIPT_NAME'));

共感・感謝の気持ちを伝えよう!

質問者からのお礼

IISの.phpで「ファイルの存在を確認する」のチェックをはずと画面を表示できました。 非常に助かりました。 ありがとうございます。

関連するQ&A

  • CakePHPのコントローラの作成

    PHP初心者です。 CakePHPをインストールし試しにTestControlerを作成したのですが、ページが開きません。 PageNotFoundになります。 考えられる原因が分かれば教えて下さい。 【やったこと】 ・ [CakePHP root]\app\Controller に TestController.php を作成。 <?php App::uses('AppController', 'Controller'); class TestController extends AppController { } ・ URLにアクセス http://[CakePHP root]/Test ⇒ Not Found http://[CakePHP root]/test ⇒ Not Found http://[CakePHP root]/app/webroot/index.php?url=test ⇒ CakePHPのindex.phpが表示される。 http://[CakePHP root]/app/webroot/index.php?url=Test ⇒CakePHPのindex.phpが表示される。 以下のサイトを参考にしました。mod_rewriteが動いていない可能性がある ということなので、URL直接指定もしてみましたがダメでした。 http://codezine.jp/article/detail/768?p=2 よろしくお願いします。

    • ベストアンサー
    • PHP
  • IIS5について

    初心者です。 1.IIS5をインストールし、インターネットインフォメーションサービスの「既定のWEBサイト」のプロパティで、WEBサイトの識別にサーバのIPを設定。 2."C:\Inetpub\wwwroot"に簡単なHTMLファイル(index.html)を作る。 3.ブラウザで、"http://xxx.xxx.xxx.xxx/index.html" をたたくと、TimeError。 4."http://127.0.0.1"をたたくと、ページがみつかりません。 5."http://localhost/iisHelp/"をたたくと、The requested URL could not be retrievedとなります。 ヘルプすら開かないのですが、最低限必要な設定がもれているんでしょうか?

  • iisがうまく動作しない

    環境はWinXP-proでiis5.1をインストールしました。 iisの「Webサイト」上で 「ホームディレクトリ」の”読み取り”にチェックを入れ、該当するフォルダに「ドキュメント」の"既設のドキュメント"にチェックを入れ内容も該当するファイルがあるのを確認しました。 「既設のwebサイト」欄は ホームディレクトリにc:\inetpub\wwwrootを指定し「このコンピュータにあるディレクトリ」を指定し、”読み取り”にチェックを入れています。c:\inetpub\wwwroot内に「index.htm」があるので「ドキュメント」の中にあるのも確認しました。 そこで「既設のwebサイト」上で右クリックし、「参照」を実行すると「http404」エラーがでます。 また、直接ブラウザに「http://localhost/」を指定しても結果は同じです。 「http://127.0.0.1/」でも「http://PC名/」でも同じでした。 ちなみに常時接続のためルータを入れいます。ローカルの参照なのでルータは関係ないと思うのですが。 まったく動作しないため困っています。原因と対処法がわかりましたら教えてください。

  • IISで何も表示されません。

    WindowsXPのHomeからProffessionalにアップグレードし、 IISをインストールしました。 CドライブにはInetpubの下にwwwrootフォルダが作成されて いるのですが、コントロールパネルから 「インターネット インフォメーション サービス」を 開くと左上に「インターネット インフォメーション サービス」と 表示されているだけで、コンピュータ名など一切表示されません。 その為、http://localhostと入力しても「ページを表示できません。」 と表示されます。localhostの代わりに127.0.0.1で入力しても 同じでした。 hostsを確認しましたが、「127.0.0.1 localhost」に なっています。 セキュリティーソフトを手動起動にし、再起動してウィルスソフトが 起動していない状態で再度IISを確認したのですが、やはり 何も表示されません。 これは一体なぜなんでしょうか? お時間ある方教えてください。。

  • Windows2000でIISの質問です。http://aaaa,jp/直下のディレクトリを仮想ディレクトリにする方法

    いつも、お世話になっております。 http://aaa.jp/ 指定で表示されるのは、基本でwwwroot直下に なっていると思うのですが、直下だけを、別フォルダにしたいのですが、どうすればよいのでしょうか? \c:inetpub\wwwroot\abc⇒http://aaa.jp/abc/ \c:inetpub\homedir\⇒http://aaa.jp/ こんな感じでできないでしょうか? ■意図 http://aaa.jp/とhttp://aaa.jp/mobile/ を別管理したいので、FTP接続時に wwwrootを見てしまうとwwwroot直下のフォルダがすべてアクセスできてしまうのを避けたい。 ※wwwroot直下のディレクトリをすべて仮想ディレクトリにするというのは無しでお願いします。

  • PHP5、IISで2つのサイトでPHPを有効にしたい

    php-5.2.6-Win32をWIN2003上で動かしています。WEBサーバはIIS6です。 c:\inetpub\wwwroot1 と c:\inetpub\wwwroot2 のサイトがあり両方でPHPを動作させたいのですが、 php.iniのdoc_rootをどのように設定すればいいのでしょうか? 是非宜しくお願いします。

    • ベストアンサー
    • PHP
  • VistaでのIISのインストールについて

    お世話になります。 WindowsVista Buisiness でIIS7をインストール行いました。 → http://pasofaq.jp/development/web/vistaiisinstall.htm のサイトを参考に行ったのですが、http://localhostをアドレスに入力すると404エラーになってしまいます。 IIS開始のページが開かず困っています。単純にインストールに失敗しているのでしょうか? IISマネージャは起動します。 C:\inetpub\wwwroot\下にはiisstart.htmのIIS開始ページは存在しています。 どういう状態になっているのか全然わかりません。 どなたかご教授下さいますようお願いします。

  • HTTPDでOKでIISでエラーとなります

    テストでチャット風に動くCGIを作成したのですが。 端末側でHTTPDでテストするとOKですが NTサーバー(IIS)でLAN上に公開しようとすると 下記のエラーがでてしまいます。 'E:\Inetpub\wwwroot\・・・\TEST.cgi' script produced no output 何か変更するべき設定はあるのでしょうか?

  • IIS6.0でWEBサイトが表示されない

    環境 W2K3 SP1 IE 6 IIS 6.0 現状 IISを使用してWEBサイトを表示させようとしています。 C:\Inetpub\wwwroot直下にindex.htmを置き、そこから 配下のWEBサイトへいけるようにリンクしてあります。 問題 http://xx.xx.xx.xx/index.htm (xx.xx.xx.xxは自マシンIPアドレス) とアドレスを入力して接続してみても、404エラーと 以下のメッセージが表示されてしまい、正常に動作しません。 ちなみに、配下のWEBサイトに直接接続しても、index.htmと同様の現象が発生します。 The requested resource (/index.htm) is not available. 質問 index.htm、またはWEBサイトを正常に表示させるにはどうしたらよろしいでしょうか? 情報が少なくて申し訳ありませんが、よろしくお願いします。

  • IISのルートディレクトリを可変

    標準設定では「IISのルートフォルダ (C:\Inetpub\wwwroot)」をカレント ディレクトリとして表示されるようですが、 「カレントディレクトリを、ログオンユーザ のアカウントや所属グローバルグループ毎 に可変させるための方法」をご教示願います。 IE5.x以降で、クライアントからServerに アクセスしたときの事です IE5.xからhttp://xxxx/としたら、 例) ユーザID = 001 ↓ カレントフォルダ = “C:\Inetpub\wwwroot”以下のフォルダ ユーザID = 002 ↓ カレントフォルダ = “D:\ABC\002”以下のフォルダ をIISの設定のみで実現したい どなたか知識をおもちの方、ご回答宜しくお願い 致します。