2011-11-24 6 views
1

사용자 친화적 인 URL로 다시 작성했습니다. 주소창에 나타나는 사용자 친화적 인 URL에 액세스하고 싶습니다.사용자 친화적 인 URL에 액세스하고 싶습니다.

HttpContext.Current.Request.Url.AbsoluteUri 

를 사용하여

, 내가 그렇게 할 수있는 방법을 ... 나는 그런 http://mydomain.com/default.aspx?id=3 같은 쿼리 문자열 매개 변수를 사용하여 URL을 얻을 ....하지만 난 http://http://mydomain.com/default/3/ 싶어?

답변

0

AbsoluteUri가 아닌 Uri.AbsolutePath을 사용해야합니다.

AbsolutePath 속성에는 서버가 정보 요청을 해결하는 데 사용하는 경로 정보가 들어 있습니다. 일반적으로 서버 파일 시스템에서 원하는 정보에 대한 경로는 이지만 은 서버가 실행해야하는 응용 프로그램 또는 스크립트를 나타낼 수 있으므로 정보를 제공합니다.

경로 정보에 스키마, 호스트 이름 또는 쿼리 URI의 일부가 포함되어 있지 않습니다. 이것은 당신이 다른 포트에있을 수 있습니다 경우 포트 80에있어 가정 웹 응용 프로그램의 경우

Response.Write("http://" + Request.Url.Host + Request.Url.AbsolutePath); 

:

이것은 당신이 Uri.AbsolutePath 등으로 Uri.Host을 결합 할 수있는 것 Url.Port에 대한 전화 번호도 포함시켜야합니다.

+0

HttpContext.Current.Request.Uri.AbsolutePath; 오류를 표시하고 있습니다 .... 이걸 사용하는 것이 불가능합니다 .... 제가 잘못하고 있습니까? – ghetal

+0

어떤 버전의 .NET을 사용하고 있습니까? 특정 버전의 태그가 없기 때문에 .NET 4를 사용하고 있다고 가정했습니다. –

+0

Umbraco CMS에서 이것을 사용하고 있습니다. this ........ "http : //"+ Request.Url.Host + Request.Url.AbsolutePath ..를 사용하여 http://mydomain.com과 같은 매개 변수를 사용하여 userfireldy URL을 가져 오지 못했습니다./default/param/ – ghetal

관련 문제