[PHP-users 30500] Re: PHPファイルへのパラメータをスラッシュ区切りで渡す方法について【IIS】

Satoshi Kasuga kasuga @ cybird.co.jp
2006年 10月 12日 (木) 10:38:44 JST


春日です。

IISにはあまり詳しくないのですが、
おそらく試されたレンタルサーバはApacheで動いており
ApacheにはMultiViewsという、拡張子がない場合でも
プログラムを呼び出す機能がある為と思われます。
同様の機能がIISにもあれば動きそうですが。


On Wed, 11 Oct 2006 20:02:52 +0900
ken <zuiun_no_chaya @ yahoo.co.jp> wrote:

> 小池@茶谷です。
> 
> ユーザからの要望でWin2003Server+IIS6.0+PHP4.3.9の環境で
> サーバ内の一部のコンテンツ(ページ)のURLをスラッシュ区切で実装すること
> になりました。
> 
> 色々と調べた結果、
> _SERVER['PATH_INFO']を使用するのが最もスマート且つ簡単に対応可能かと思い
> まして自分の借りているレンタルサーバでテストしてうまく動作したので
> そのまま本番の環境で動かしてみました。(以下のプログラムです)
> 
> test.php
> <?php
> list(,$_GET['str1'], $_GET['str2']) = explode('/',
> $_SERVER['PATH_INFO']);
> print "パラメータ1は、{$_GET['str1']} です<br>";
> print "パラメータ2は、{$_GET['str2']} です<br>";
> ?>
> 
> しかし本番環境ではうまく動作せず、
> 
> Warning: Unknown(c:\Inetpub\wwwroot\test.php\a\b): failed to create
> stream: No such file or directory in Unknown on line 0
> 
> というエラーが表示されます。
> ちなみにアクセスした際のURLは
> http://www.example.com/test.php/a/b/
> つまりaやbをディレクトリとして解釈しているようなのです。
> 
> 私の借りているレンタルサーバ(うまく動作した環境)と
> 本番環境(失敗してしまった環境)の違いは
> OSとWebServerというのは十分認識しているのですが、
> PHPのバージョンは同じです。
> 
> list(,$_GET['str1'], $_GET['str2']) = explode('/',
> $_SERVER['PATH_INFO']);
> 
> の部分はphpが解釈すると思うので
> OSやWebServerの違いで異なる動きをするという
> ことが分かりません。
> 
> 仮にOS等に依存するような現象であった場合、
> Win2003Server+IIS6.0+PHP4.3.9でスラッシュ区切のURLを
> 実装できる方法をご存知の方がいらっしゃいましたら、ご教授して
> 頂きたいと思います。宜しくお願い致します。
> 
> 
> 
> --------------------------------------
> [10th Anniversary] special auction campaign now!
> http://pr.mail.yahoo.co.jp/auction/
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3

-- 
SATOSHI Kasuga <kasuga @ cybird.co.jp>



PHP-users メーリングリストの案内