문제

URL에서 default.aspx 텍스트를 제거하기 위해 응용 프로그램에 IIS6을 사용하는 솔루션이 있는지 알고 싶었습니다. 예를 들어 사용자가 칩을칩니다.

www.website.com/default.aspx

브라우저는 다음과 같습니다.

www.website.com/

무슨 일이 있어도. SEO를위한 것입니다.

나는 이미 내 앱에서 일부 재 작성에 urlrewriting.net을 사용하고 있지만 규칙을 만들기 위해 그렇게 영리하지는 않습니다.

모든 도움은 감사합니다.

감사. 호세

도움이 되었습니까?

해결책

URL 재 작성을 수행 할 수있는 작업이 있으면 링크가 올바른 URL을 가리 키도록해야합니다.

링크를 수정하지 않으면 요청한 실제 링크를 표시할지 여부를 결정하기 위해 브라우저에 달합니다.

Dodgy 작업을 정말로하고 싶다면 JavaScript를 사용하여 브라우저의 주소 표시 줄이 유효하지 않은 경우에도 원하는대로 표시 할 수 있습니다.

다른 팁

Scottgu는 이미 ASP.NET에서 다시 쓰는 주제를 가지고 있다고 생각합니다. http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx.

그는 다음과 같은 것들을 다룹니다.

  • urlrewriter.net을 사용하여 다시 쓰기, Isapi Rewrite
  • ASP.NET TRICKS, 게시 후 (URL의 친숙한 버전을 치기)

당신의 문제와 함께 나는 당신이 'default.aspx'에 연결하지 않는 조합을 사용해야한다고 생각합니다. '/'만 링크합니다. 그런 다음 Scott의 Form Postback Browser 파일을 사용하여 Postback이 항상 동일한 유용한 버전의 URL을 누르도록하십시오.

'default.aspx'를 '/'로 리디렉션하고 'Default.aspx'에 의해 제공되는 것은 저에게 재난 레시피처럼 들립니다. 'default.aspx'가 명시 적으로 끝나지 않도록 링크를 수정하십시오.

검색 결과 색인을 변경하는 가장 간단한 방법 (HTTP 301에 대해 알고 있다고 가정)은 Default.aspx의 Page_Load에 작은 기능을 작성하는 것입니다.

void Page_Load(...) {

    if(Request.Path.EndsWith("default.aspx", true/*case-insensitive*/, null)) {
       Response.StatusCode = 301;
       Response.StatusDescription = "Moved Permanently";
       Response.Headers.Add("Location", "/");
       HttpContext.Current.ApplicationInstance.CompleteRequest(); // end the request
    }

    // do normal stuff here
}

Default.aspx가 IIS에서 제공 할 기본 문서로 설정된 경우, 모든 내부 사이트 링크에는 URL이 포함되어 있습니다. 없이 default.aspx 그러면 그 트릭을 수행해야한다고 생각합니다.

사용자가 여전히 입력 할 수 있지만 default.aspx, 검색 엔진 스파이더는 링크 href 속성에서 더 친근한 URL을 선택해야합니다.

내가하는 방법은 public class global : system.web.httpapplication에서 application_beginrequest를 사용하고 default.aspx를 위해 httpcontext.current.request.url을 확인한 다음 httpcontext.current.response.response.respons.rect를 사용하는 것입니다. 그것.

단점이 리디렉션이 항상 크지는 않으며 해당 Default.aspx 페이지에 데이터를 게시하는 경우 작동하지 않습니다. 그러나 브라우저를 다른 URL을 표시하도록 속일 수는 없지만 ASP.NET에게 요청에 대해 원하는 페이지를 제공하도록 지시 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top