1

Umbraco가 내 취향에 맞게 작동하도록 301 URL Tracker package을 얻으려고합니다.Umbraco가 .aspx가 아닌 파일에 대한 요청을 처리하도록하는 방법 (IIS 통합 파이프 라인 모드)?

제 목표는 다른 CMS의 이전 URL을 새로운 Umbraco URL에 매핑하는 것입니다. 내 특정 상황에서 이전 사이트는 PHP 기반이므로 .php 파일 확장명 (http://example.net/test.php ->http://example.net/test/)을 사용합니다. 그러나 .aspx가 아닌 확장명 (ASP, PNG 및 곧). 문제는 Umbraco가 .php 파일 요청을 처리하지 않는다는 것입니다. .aspx 및 디렉토리 (확장자없는 URL)에서 완벽하게 작동합니다.

나는 이것을 작동시키기 위해 여러 가지를 시도했다. 더 이상 설명하기 전에 응용 프로그램 풀이 및 .NET 4.0 인 통합 모드임을 유의해야합니다.

<customErrors defaultRedirect="not-exists.aspx" /> 

이는 Umbraco 설정 파일 404handlers.config에서 NotFoundHandlers에 정의 된 핸들러를 트리거 :

나는 가지가 Web.config의에서 사용자 지정 오류를 정의하여 작업을 얻었다. 그러나 301 URL 추적기가 시작되어 301 리디렉션을 처리하기 전에 302 Found 헤더를 반환하는 부작용이 있습니다. 그리고 이것은 단지 큰 SEO "아니오"입니다.

그런 다음 .php 파일 용 HTTP 처리기 모듈을 명시 적으로 만들려고했습니다. 나는 .php 파일에 대한 요청을 처리하기 위해 System.Web.UI.PageHandlerFactory 모듈을 성공적으로 얻었다. 그러나 이것은 Umbraco의 NotFoundHandlers를 호출하지 않습니다.

IIS 7의 통합 파이프 라인을 이해 했으므로 등록 된 모든 모듈은 요청 처리를 시도해야합니다 (http://stackoverflow.com/questions/3765317/how-to-catch-non-aspx-files-with). -a-http-module). 하지만 아마도 누군가이 주제에 대해 나를 계몽 할 수 있을까요? http://our.umbraco.org/projects/developer-tools/301-moved-permanently/feedback/7271-when-the-old-pages-are-not-from-umbraco

내가 Umbraco 통합 파이프 라인 모드에서 비에서 .aspx 파일에 대한 요청을 처리하기 위해 점점에서 실종 무엇 :

다른 사람이 구성 작업을 얻기에 어려움을 겪고?

답변

4

이미 통합 파이프 라인 모드에서 실행중인 경우 포함 된 UrlRewriting.net 모듈은 자동으로 요청을 선택해야합니다.

<add name="phptoaspx" 
    virtualUrl="^~/(.*).php" 
    rewriteUrlParameter="ExcludeFromClientQueryString" 
    destinationUrl="/$1.aspx" 
    ignoreCase="true" /> 

당신의 /config/UrlRewriting.config 파일에 모든 잘해야한다 : 는 간단하게 추가 할 수 있습니다.

P. 이 아닌은 SEO 301/302'ing 콘텐츠를 처리하기 위해 customError 핸들러를 사용해야합니다. 이것은 유지 보수 측면에서 엄청난 골치 거리가 될 수 있습니다. 제발 믿어주세요.

+0

고마워요! 나는이 간단한 수정을 시도 할 것이다. InfoCaster의 301 URL 추적기 패키지를 사용하여 301 리디렉션을 처리합니다. 걱정하지 마십시오 : –

+0

301 URL 추적기는 아니지만 사용자 정의 404 페이지와 관련하여 작동합니다.URL 추적기로 전달 된 URL은 실제 URL이 아닙니다 (test.php는 test.aspx로 전달됩니다). 거의 다 왔어. 그래도 답변을 많이 주셔서 감사합니다! –

+0

301 추적기를 직접 사용하지 않았습니다. 내가 물어봐도 되겠습니까? 귀하의 URL (.php)이 새로운 .aspx 문자와 일치합니다 (예 : test-this.php는 test-this.aspx가됩니다). –

0

나는 Umbraco에 익숙하지 않은,하지만 이것은 당신이 당신이 당신의 자신의 재 작성 규칙을 추가해야합니다 물론 http://blogs.iis.net/ruslany/archive/2008/09/30/wildcard-script-mapping-and-iis-7-integrated-pipeline.aspx

찾고있는 것을 믿고 ... 그래서 이것은 단지 당신을 반쯤 가져옵니다.

+0

답변 해 주셔서 감사합니다. 사용자 정의 재 작성이 Umbraco에 이미 포함되어 있습니다. Umbraco의 해당 부분을 호출하는 데 문제가 있습니다. –