2011-07-24 20 views
0

ASP.NETアプリケーションに到着するURLに「。」という末尾の完全な文字列が含まれる場合、それらはHttpRequestのUrlプロパティから切り捨てられます。例えばASP.NET:HttpRequest.Urlは末尾の '。'を切り捨てます。文字

URLは "http://server/folder.../"、次の呼び出しの場合:代わりに "/folder.../" の

HttpContext.Current.Request.Url.PathAndQuery; 

リターン "/フォルダ/"。

Tried this解決策ですが、推奨されたコードが実行された後にUriが構築される場合にのみ役立ちます.HttpRequestはASP.NET Webアプリケーションのコードが実行される前に構築されている可能性があります。

後続の '。' HttpRequest.Url?

答えて

0

セクション内のweb.configにrelaxedUrlToFileSystemMappingを追加できます。

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 

これは、URLのドットを保存します。

しかし、何らかの理由でUrl.PathAndQueryにはドットが含まれず、RawUrlにはドットが含まれていません。

HttpContext.Current.Request.Request.RawUrl; 

relaxedUrlToFileSystemMappingを有効にすると、セキュリティ上の問題が発生する可能性があります。

+0

また、ApplicatinOnStartイベントには、http://stackoverflow.com/questions/6240203/system-uri-class-truncates-trailing-charactersに記載されている修正を加える必要があります。 –

関連する問題