2009-05-07 1 views
0

프로젝트에 Intelligencia UrlRewriter를 사용하고 있습니다.Intelligencia.UrlRewriter

브라우저에 입력 한 URL을 다시 쓸 때 문제가 없습니다. 내가 코드에서 오전 때

http://localhost/People.aspx 

자, 문제는, 내가 친절에 접근 할 필요가 뒤에 : 나는이

http://localhost/People 

가 제대로 다시 작성되고 입력하면 예를 들어

, URL이지만 Request.ServerVariables는 비우호적 인 URL 만 사용할 수 있습니다.

아무튼 어쨌든 나는이 독창적 인 친숙한 URL의 코드에 액세스 할 수 있습니까? 아니면 내가 너무 늦었 니?

답변

2

있어의 하나로서, 패턴 매칭을 위해 작동하지 않을 일치하는 항목을 찾아 분명히이

거기에서 일치하는 값을 사용하도록 Web.config의 단지 명시 적 규칙을 규칙을 통과 할 수 그것들.

@ 닉 앨런과 퓨어. 크롬 : 도움을 주셔서 감사합니다 !!

나는 데이터의 조각을 발견 : 그것은 역시 ServerVariables에있는 경우

HttpContext.Current.Request.RawUrl 

, 나는 그것을 볼 수 없었다, 그러나 결론에서, 데이터는 내가 자신을 울 필요가 없습니다있다 잠 =

좋아요. 다시 한 번 감사드립니다!당신이 사용하는 하나의

+0

잘 했어. 나는이 게시물을 보지 못했고 내 코드로 디버그 플레이를했고 또한 그것을 발견했다. ㅎ :) 잘 했어! 며칠 만에 자신의 답변을 확인할 수 있습니다. –

+0

이 문제에 대해 고맙습니다. 친절한 URL을 통해 ASP 양식 작업을 재정의하는 방법 (또는 설명서)을 찾고있었습니다. 이제 할 수 있습니다! : D 다시 한번 감사드립니다. –

0

저는 그것을 사용하고 있습니다 .. 어 .. 2 년 전 생각합니다. (감사합니다 gawd IIS7 및 MVC가 여기에 있습니다!)

어쨌든, u는이 모든에 대한 IIS Server Variables을 확인하고 당신이 무엇을 얻을 우리가 말할 수있는 ...

  1. PATH_INFO
  2. URL
  3. SCRIPT_NAME

예를 들어, (모든 요청 변수를 덤프 내가 설정 한 페이지의 PATH_INFO의 조각입니다) : -

PATH_INFO : [/admin/Miscellaneous.aspx]

그것을 얻을 ...

Request.ServerVariables["PATH_INFO"] 

우리가 게시하십시오.

+0

@PureKrome에 다시 작성할 경우에 따라 달라집니다 이봐! 빠른 답변에 건배! Request.ServerVariables [ "PATH_INFO"] 불행히도 /people.aspx를 반환하고/People /을 찾고 있습니다. 그러나 당신이 생각하고있는 것처럼 생각하는 것 같습니다. 그래서 디버깅하는 동안 직접 변수 창에 모든 서버 변수 출력이 있습니다. 그런 다음 "people"이라는 단어를 검색했지만 people.aspx에 대한 모든 참조는 서버 변수를 통해 친숙한 URL에 액세스 할 수 없다고 생각하게 만듭니다. 물론, 나는 틀린 증명되고 싶다! 다른 아이디어? –

0

Intelligencia 다시 쓰기 규칙은 구문 분석 할 수있는 web.config에 저장됩니다. 그래서 당신은 당신의 예를

+0

무겁지 만 실력이 있다면 할 수있는 능력. 좋은 생각. –

+0

@ 닉 : 아이디어 친구에게 감사드립니다. 불행하게도 나는 내 시합에서 패턴을 사용하기 때문에 힘들 수 있습니다. 내가 정말로 원했던 것은 일부 .net 객체에서 원래 URL을 얻는 방법이었습니다 ... hrmmm ... 가능하다면 확실하지 않습니다. 코드에서이 문제를 해결하려고 할 때, 나는 정보가 에테르에서 사라 졌다는 것을 의심합니다 ... –

1
Request.PathInfo 
Request.QueryString 

default.aspx?myvar 또는 default.aspx/myvar