2010-06-09 5 views
3

내 루트 호스팅 디렉토리에 매핑 된 도메인이 example.com이라고 가정 해 봅시다. GoDaddy는 다른 도메인을 루트의 하위 디렉토리에 강제로 매핑합니다. 예를 들어 내 두 번째 도메인 example1.comexample.com/example1에 매핑됩니다. 나는이 도메인을 사용하는 경우에도, 즉하위 디렉토리를 삭제하도록 ActionLink 형식을 구성하는 방법은 무엇입니까?

http://example1.com/example1/Controller/Action 

:

나는 단지 탐색 할 수 있습니다 ActionLinks은 다음과 같은 형식을 가지고 찾아, 이러한 하위 디렉토리에 내 ASP.NET MVC 사이트를 업로드 하위 디렉토리에 매핑 된 경우 하위 디렉토리는 여전히 URL에서 사용됩니다. 내 ActionLink의 형식을 변경하고 싶습니다.

그러나 나는 또한로 이동하여 동일한 경로에 액세스 할 수 있습니다 것으로 나타났습니다 :

http://example1.com/Controller/Action 

(밖으로 떠나는 하위 디렉토리) 내가 자동으로 하위 디렉토리를 삭제 내 ActionLinks을 갖고 싶어

필요하지 않습니다.

ActionLink를 평범한 URL로 변경하지 않고도이 작업을 수행 할 수 있습니까?

답변

1

아니요, 나는 액션 링크가 주로 컨트롤러/액션을 렌더링하기 위해 작동하므로 그렇게 생각하지 않습니다. 다른 문제는 서버에 대한 액세스를 설치 한 경우 iirf.codeplex.com과 같은 URL 재 작성 도구를 사용하는 것입니다.이 도구는 무료이며 작동이 좋습니다. 당신이하고있는 일에 따라, 비록 다시 쓰는 데 몇 가지 다른 의도하지 않은 결과가있을 수 있습니다.

HTH.

1

하위 디렉토리의 순서대로 global.asax에 추가 경로 명령문을 추가 할 수 있습니다. 예 :

routes.AddRoute("example1/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }); 
routes.AddRoute("{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }); 

경로가 글로벌 asax에서 순서대로 검사되므로 올바른 요청으로 요청을 효과적으로 라우팅 할 수 있습니다. 그러나 링크에는 URL에 'example1'폴더가 포함되어 있습니다.

관련 문제