2009-07-30 1 views
0

Env : .NET 1.1쿼리 매개 변수가없는 URL - 구분 방법

이 상황에 처했습니다. 누군가가 Google 페이지로 리디렉션 할 수있는 URL을 제공해야하는 곳 리디렉션 할 때 페이지에 표시 할 메시지가 무엇인지 알려줄 필요가 있습니다. 처음에는 이런 식으로 생각했습니다. 우리는 '이유'에 따라이 URL을 얻을 때 http://example.com/a.aspx?reason=100

  • http://example.com/a.aspx?reason=101
    • ...

  • http://example.com/a.aspx?reason=115
  • 그래서 우리는 다른 메시지를 표시 할 수 있습니다.

    그러나 문제는 쿼리 매개 변수를 전혀 보낼 수 없다는 것입니다. 그들은 쿼리 매개 변수를 보낼 수 없으므로 15 개의 차이 URL을 원합니다. 메시지를 표시하기 위해 15 페이지를 작성하는 것은 나에게 의미가 없습니다.

    하나의 URL을 갖고 '이유'를 전달하는 스마트 아이디어가 있습니다.

    편집 : - HttpContext를 옵션 내가 답변

    에 따라 생각하고 내가 생각

    또는 두 번째 옵션을 가지고 있었다 HttpRequest.PathInfo httphanlder가

    이 같은 경로를 읽어 읽어보십시오. Request.Path

    경로 행위를 기반으로합니다. 당연히 web.config에는 15 개의 항목이 있습니다. 깨끗한 볼

    <add verb="*" path="reason1.ashx" type="WebApplication1.Class1, WebApplication1" /> <add verb="*" path="reason2.ashx" type="WebApplication1.Class1, WebApplication1" />

    합니까?

    +2

    지옥? 그들은 "a.aspx"로 리디렉션 할 수 있지만 "a.aspx? reason = nnn"으로 리디렉션 할 수는 없습니까? 그것은 심지어 말이되지 않습니다. –

    +0

    나는 그 해쉬가 중요하지 않다고 생각하니? – Jason

    +0

    나는 그들이 그들의 편에서 무엇을 할 수 있는지 정말로 모른다. 이 쿼리 문자열 param 솔루션을 제안했습니다. 그러나 그들은 통과 할 수 없다고 말했다. –

    답변

    2

    생각 :

    편집 :이 두 가지 접근 방식은 하나의 aspx 페이지 만 포함하고 있지만 여러 개의 URL로 연결되어 있습니다.

    +0

    이들은 .net의 이후 버전 용입니다. –

    +0

    적어도 재 작성 부분. –

    +0

    @Daniel A White : 이유가 무엇입니까? http://urlrewriter.net/ URL 재 작성 .NET 1.1 ... 내가 지적한 링크는 다양한 IIS 및 ASP.NET 버전에 대해 설명합니다 ... – Stobor

    0

    POST 변수를 보낼 수 있습니까?

    나중 버전이 RESTful URL을 허용하는 라우팅을 지원하므로 1.1에 지나치게 좋지 않습니다.

    또 다른 옵션은 사용자 지정 HttpModule을 작성하고 들어오는 요청을 차단하는 것입니다.

    +0

    아니요, 게시 변수를 보낼 수 없습니다. –

    +0

    일부 타사 제품에는 몇 가지 제한 사항이 있습니다. 우리는 다음 버전으로 이전 할 수 없습니다. –

    1

    IIS (IIS 6에서 실행하지만 5에서 실행되기를 기대합니다)라고 가정하면 IIRF을 설치할 수 있습니다. 그런 다음 Apache의 mod-rewrite로 다른 "친숙한"URL을 구성하고 쿼리 매개 변수로 단일 x 페이지로 보낼 수 있습니다.