人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ASP.NETでは、HttpRequest.PathInfoを使うことで、以下のようにtest.aspxの後に"/"を使った追加情報を
URLに付加することで、文字列を取得することができるようです。
http://hoge.com/test.aspx/fuga
(fuga)を取得可能。

しかし、私の環境で試したところ、404エラーになってしまいます。
何か、設定をすれば良いのだと思いますが、いろいろネットで調べたのですが結局わかりませんでした。

どのように設定すればよいのでしょうか。

●質問者: tetra_sync
●カテゴリ:ウェブ制作
✍キーワード:ASP.NET test URL エラー ネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● haruo-31
●35ポイント

すみません、詳しく無いくせに回答しますが、

下URLで真逆の状況を解決したいという内容が投稿されています。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=43295&fo...

Global.aspxかIISの設定から調整できるようです。

◎質問者からの返答

回答ありがとうございます。

上記URL中にあるGlobal.asaxの記述は、すでにPathInfoが動作していた場合の対処法です。

ちなみに試しに追加パス情報を含んだURLをたたいた時に、Application_BeginRequestが呼ばれるか試したんですが、呼ばれませんでした。

ASP.NETエンジンまで到達していないということでしょうか。

やはりIISでの設定だと思います。

しかし上記URLでは、自前でPathInfoを無効にするロジックを実装するような結論になっています。

ということは、追加パス情報を有効/無効で切り替えるような単純な設定項目が無いという事でしょうか。

上記URLのMSDNへのリンクでは、ASP.NET内での動的なURLの書き換え方法が記載されています。

また、404エラーをaspxでキャッチする方法もあります。

PathInfoが動作しない場合の代替手段として検討したいと思います。


2 ● haruo-31
●35ポイント

すみません、再チャレンジでお願いします。

http://forums.iis.net/p/979135/1249084.aspx

一部引用。

「原因が見つかりました。UrlScanです!たったこれだけのことでした:パスに"."を許可しない設定が入っていました。UrlScan.iniを変更(AllowDotInPath=1に設定)して、IISを再起動したら動くようになりました。」

However, I found the problem: UrlScan! Doing just what it was told to do: that is, not allow paths with "." in them. Once I changed UrlScan.ini (AllowDotInPath=1) and re-started IIS, it now works.

◎質問者からの返答

URLScan.ini が私の環境にはありませんでした。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ