- - PR -
別仮想ディレクトリのMapPath取得方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-14 15:10
いつもお世話になっております。
ASP2.0開発環境でお聞きしたいのですが、 仮想ディレクトリ TEST1 (絶対パス c:¥wwwroot¥TEST1) 仮想ディレクトリ TEST2 (絶対パス c:¥wwwroot¥TEST2) があった場合に TEST2側のソースファイルで Server.MapPath("TEST1/"); でパスを取得した場合 c:¥wwwroot¥TEST2¥TEST1¥になってしまいます。 自分の希望としては c:¥wwwroot¥TEST1¥と値を取得したいのですが どうすればよいのでしょうか。 | ||||
|
投稿日時: 2006-07-14 15:24
Webアプリケーションとして別のものになっているんですよね。
であれば、できません。 | ||||
|
投稿日時: 2006-07-14 15:27
はい、仮想ディレクトリとしては別になっています。
| ||||
|
投稿日時: 2006-07-14 15:32
こんにちは。
ディレクトリトラバーサルが起きない仕組みってことですかね。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||
|
投稿日時: 2006-07-14 15:48
> 仮想ディレクトリとしては別になっています。
仮想ディレクトリとWebアプリは異なります。 とはいってもたぶんWebアプリとしても異なるのでしょう。 VSで別プロジェクトとして作ってたりしませんか? であればできません。 > ディレクトリトラバーサルが起きない仕組みってことですかね。 同一サーバ上で動いている、ということから誤解が生じているのかも しれませんが、たとえばWindowsアプリで異なるアプリケーション間で 相手方のアプリケーションの設定情報を取り出すことは普通できませんよね。 Webアプリケーションといえどもそれは同じことです。 MapPathは今のアプリケーションの環境から物理的なフォルダ情報を 取り出すものなので、アプリケーションが異なれば利用できません。 ディレクトリトラバーサルについては、IIS上の設定で防ぐ仕組みが ありますが、この件とは関係ありません。 | ||||
|
投稿日時: 2006-07-14 16:01
あ、[親のパスを有効にする]オプションのことですね。 ご指摘ありがとうございます。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||
|
投稿日時: 2006-07-14 20:27
Server.MapPath("../TEST1/"); または Server.MapPath("/TEST1/"); でしょう。 # Windows2000Server/ASP.NET1.1で確認 |
1