IISでPHPを動作させるため一般的な方法だと次のようになります。

pnp.iniファイル


doc_root=C:Inetpubwwwroot

しかし、これだと仮想ディレクトリをdocroot以外に配置すると404エラーが表示されます。 その他にもdocroot以下であってもエイリアスとディレクトリ名が違うと同じく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は設定しなくても良いってことでしょうか?