私はHttpRequestのあらゆる種類のメソッドを使用してURLを表示しようとしましたが、VirtualPathUtilityオブジェクトも試しましたが、隠された部分 "default.aspx"を表示できませんでしたデフォルト... URLのこのセグメントを取得するメソッドまたはプロパティは何ですか?URLの非表示のdefault.aspxセグメントを取得
理由は、URLのマップされたパスにFile.Exist()を使用して、404ページ、つまりhtmlページをすべてキャッチするアプリケーションレベルで404を作成するのにはとても近く、残念ながら、デフォルトページ。
反対のことをしようとする記事はほとんど見ていませんが、default.aspxが発生したときにこれを削除します。
編集:ここで私がしようとしていますものです:
string fullOrigionalpath = context.Request.CurrentExecutionFilePath.ToString();
bool newUrl = System.IO.File.Exists(context.Server.MapPath(fullOrigionalpath));
if (!newUrl) throw new HttpException(404,"page not found");
今あなたが見る、ページがはlocalhost /レクサス/ default.aspxをであれば、それはエラーなしで正常に動作しますが、私が入力した場合http://localhost/lexus/の場合、fullOriginalPathを出力しようとすると "default.aspx"の部分がないため、Existsがfalseを返すため、エラーがスローされます。物理ファイルの妥当性をチェックする良い方法がありますか?
このファイルは、〜/を返し、File.Existsをチェックすると、falseを返します。 IISが不足していますか? – Ayyash
これを正しく理解していますか?あなたが望むのは、要求されたファイルの物理ファイルパスを取得する機能です。リクエストされたURLが "http://mydomain.com/"のようなもので、結果が "〜/ default.aspx"であると期待される場所はどこですか? –