2009-10-17 6 views
0

우리는 IIS7과 ASP.NET 3.5를 사용하고 있습니다.IIS7 & 301 리디렉션 - 파일 폴더

새 웹 사이트가 업데이트되었습니다. 이제 우리 웹 사이트를 가리키는 인터넷 링크가 많이 있지만, 새로운 웹 사이트의 디렉토리 구조 변경으로 인해 많은 링크가 끊어졌습니다.

"새 페이지"로 리디렉션 된 301 개의 요청이 필요합니다.

/서비스/softwaredevelopment

/제품/geographicdata

/사이트 맵

/기업/termsofuse

내가 쓴 일부 : 이전 페이지의 대부분은 단순히 디렉토리 URL의 등이다 Global.asax 파일의 코드를 사용하여 URL을 찾아 파싱하고 리디렉션하십시오. 그러나 파일 참조 (.aspx)가없는 경우 URL은 내 ASP.NET 응용 프로그램에서 발견되지 않습니다.

그러면 이러한 리디렉션은 IIS7에서 만들어야합니다.

위의 URL은 디렉토리 수준에 있습니다. (실제 .aspx 페이지를 직접 요청하지는 않습니다 ...) 가상 디렉토리를 사용하여 '디렉토리'요청을 다른 '디렉토리'로 리디렉션 할 수 있습니다 ....

==========

올드 :하지만 실제하는 .aspx 파일에 디렉토리 요청을 리디렉션하지 못할

여기에 리디렉션의 유형 중 일부는 내가 만들 필요가 있습니다 :/services/softwaredevelopment

리디렉션 :/services/cust OM-소프트웨어 development.aspx

올드

============ :/사이트 맵

리디렉션하려면 : ====

을 /sitemap.aspx ========

올드 :/기업/termsofuse

리디렉션하려면 : /company/termsofuse.aspx

=============

올드 :/기업/경력

리디렉션하려면 : =========

을 /company/careers.aspx ====

올드 :/서비스/

리디렉션 : /services/custom-software-development.aspx

=============

누군가가이를 수행하는 방법에 대해 밝힐 수 있습니까? 궁금한 점이 있으면 알려주십시오. 당신의 도움에 많은 감사드립니다.

답변

1

한 신속하고 더러운 옵션은 Default.aspx를 만들려면 목록에있는 폴더의 페이지를 리디렉션하는 것입니다. 예를 들어,/서비스/softwaredevelopment을 처리하기 위해, 다음과 같이 /services/softwaredevelopment/default.aspx에서 파일의 default.aspx를 만들 :

<%@ Page Language="C#" Inherits="System.Web.UI.Page" %> 

<% Response.Redirect("/services/custom-software-development.aspx"); %> 

을 몇 리디렉션이있는 경우이 솔루션으로 만 실용적입니다 아주 적은 코드 파일로 프로젝트를 혼란스럽게 만듭니다. 많은 수의 리디렉션에 대한 더 나은 솔루션은 IIS 7의 native URL rewriter을 사용하는 것입니다.