IIS仮想ディレクトリでphpにアクセスすると404エラー
IISでPHPを動作させるため一般的な方法だと次のようになります。
pnp.iniファイル
doc_root=C:Inetpubwwwroot
しかし、これだと仮想ディレクトリをdoc_root以外に配置すると404エラーが表示されます。
その他にもdoc_root以下であってもエイリアスとディレクトリ名が違うと同じく404エラーが表示されてしまいます。
doc_root適時修正するのも手ですが、php.iniはIISでのPHP全体の動作に関する部分なので、他の仮想ディレクトリに個別対応できないのが問題。
doc_rootに対して複数設定できればいいんですが。。。
いろいろ調べていると以下の方法で回避できるようです。
php.iniのdoc_rootに値を設定しないhttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q139538758 上記回答欄参照pnp.iniファイル
doc_root=
確かに『doc_root=』 にすると仮想ディレクトリをwwwroot以外に設定したりエイリアスを変更していても動作が確認できました。
しかし、公式ドキュメントでは設定するよう指示されているものですし、実際の運営にはどう影響するかわかりません。(セキュリティとか・・)
php.benscom.com - Microsoft IIS / PWShttp://php.benscom.com/manual/ja/install.windows.iis.php私は社内だけでの公開なのでこの設定で対応しましたが・・・
ちなみにPHPはFastCGIで動作しています.
(IIS以外の)WebサーバのもとでCGIとしてPHPを実行する際には、 doc_rootを指定するべきです。php.benscom.com - Microsoft IIS / PWS http://php.benscom.com/manual/ja/ini.core.php#ini.doc-root
ということはやはりIISは設定しなくても良いってことでしょうか?