2013-09-24 2 views
0

aspx 페이지를 다른 aspx 페이지로 리디렉션하려고합니다. 하지만 aspx 페이지가 매개 변수없이 호출 될 때만 가능합니다.aspx 페이지를 httpredirect로 만드는 방법은 무엇입니까?

그래서 이렇게 호출하면 : https://www.a.com/test.aspx?param=1 아무 것도 할 필요가 없습니다. 하지만 다음과 같이 호출 된 경우 : https://www.a.com/test.aspx 리디렉션해야합니다.

나는 이것을 시도했지만 리디렉션하지 않고 대신 aspx를 실행합니다.

<system.webServer> 
    <httpRedirect enabled="true" httpResponseStatus="Found" exactDestination="true"> 
     <add wildcard="*test.aspx" destination="/destination.aspx"/> 
    </httpRedirect> 
</system.webserver> 

아이디어가 있으십니까?

추가 정보 : https 도메인에서 가져온 것입니다.

또한 다음을 시도했지만이 힘든 충돌한다 : 그것은 당신의 ASPX 페이지의 페이지로드 코드를 사용하는 것입니다 할

<rewrite> 
    <rules> 
     <rule name="myrule" stopProcessing="true"> 
      <match url="/test.aspx" /> 
      <action 
       type="Redirect" 
       url="/destination.aspx" 
       appendQueryString="false" 
       redirectType="Found" /> 
     </rule> 
    </rules> 
</rewrite> 

답변

1

한 가지 방법. 쿼리 문자열이 제공되지 않으면 리디렉션을 수행하십시오.

이전에 리디렉션을 수행하려는 경우 global.asax BeginRequest 이벤트를 사용하여 리디렉션 (현재 요청의 URI를 확인하고 필요한 경우 리디렉션) 할 수도 있습니다.

+0

thx 아이디어, 나는 결국 aspx 파일의 Onprerender 메서드에 넣습니다. –

+0

프리 렌더링은 페이지 수명주기가 늦습니다. 리디렉션 전에로드 시간을 최적화하려면 PreInit 또는 Init 페이지에서 리디렉션을 수행하는 것이 좋습니다 ([this] (http://msdn.microsoft.com/en-us/library/ms178472 (VS .100) .aspx # additional_page_life_cycle_considerations) 자세한 내용은 다이어그램을 참조하십시오. – CharlesAD

관련 문제