2017-11-02 7 views
0

URL 재 작성을 위해 이미 여러 규칙이 정의되어 있고 작동하고있는 Webforms ASP.Net 앱이 있습니다. 응용 프로그램은 Intelligencia URl Rewriter를 사용합니다.이 Rewriter에는 불행히도 온라인/오프라인 설명서가 전혀 없습니다.URL을 재 작성하지 않도록 제외하는 방법 .Net Intelligentia Rewriter

이러한 규칙 중 하나 때문에 aspx 파일에 대한 요청이 default.aspx로 리디렉션됩니다. 이는 aspx가 Telerik.Web.UI.DialogHandler.aspx 일 때를 제외하고 모든 경우에 유효합니다.

필자는 Telerik.Web.UI.DialogHandler.aspx가 포함되어있는 경우 URL을 다시 작성하지 않기 위해 다음과 같은 구성을 사용하려고 시도했지만 작동하지 않습니다.

질문

는 어떻게 URL Rewriter가 처리 beinng에서 Telerik.Web.UI.DialogHandler.aspx가 포함 된 URL을 제외 것인가? 아래

구성은 URL을 제외입니다하지만 기존 규칙의 URL conatins Telerik.Web.UI.DialogHandler.aspx이 규칙은 다음과 같습니다 때 재 작성의 원인이되는

<rewrite url="^(.+)?Telerik.Web.UI.DialogHandler\.aspx(\?(.+))?$" to="$1" 
processing="stop" /> 

작동하지 않습니다.

<if url="^((?!\.ashx|\.asmx|\.axd|\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|install|error|auth\.aspx|default\.aspx|popup\.aspx|advanced\.aspx|digest\.aspx|ftb.imagegallery\.aspx|ckfinder).)*$"> 
    <rewrite url="^~/(.+)?\?(.+)?$" to="~/Default.aspx?g=$1&amp;$2" processing="stop" /> 
    <rewrite url="^~/(.+)?\.aspx$" to="~/Default.aspx?g=$1" processing="stop" /> 
    <rewrite url="^~/(.+)?$" to="~/Default.aspx?g=$1" processing="stop" /> 
</if> 

답변

0

나는 결국 대답을 발견했다.

Telerik.Web.UI.DialogHandler.aspx 문자열을 포함하는 URL을 제외하려면 다음 다시 쓰기 규칙을 다시 쓰기 URL 구성 섹션의 첫 번째 규칙으로 지정해야합니다.

<rewrite url="^(/.*(Telerik\.Web\.UI\.DialogHandler\.aspx)(\?.*)?)$" 
    to="$1" processing="stop" /> 

이 URL에 적용되는 기존 규칙의 가능성을 완전히 없애려면 첫 번째 규칙으로 배치하는 것이 중요합니다. to 속성에 대해 $1을 사용하면 원래 URL이 속성 값으로 사용됩니다.

+0

@Sunil을 도와 줄 수 있습니까? https://stackoverflow.com/questions/47628919/asp-net-url-rewrite-rule – serdar