2013-05-06 3 views
0

내 웹 사이트의 모든 URL을 정상화하려고합니다. 몇 가지 다시 쓰기 규칙을 만드는 것을 고려하고 있지만 코드가 Html.ActionLink이고 코드가 RedirectToAction 인 경우에만 해당 규칙을 준수합니다.URL 재 작성이 내 ASP .NET MVC 경로를 존중합니까?

? 나는 초기 테스트를 몇 번했고, 그럴 수는 없었다.

+0

mvc에서 경로를 사용자 정의하여 다시 쓰기 규칙을 작성 하시겠습니까? 그렇다면'Html.ActionLink'와'RedirectToAction'과 함께 동작해야합니다 – ppetrov

+1

라우터와 중복성이없는 rewriter는 없습니까? –

답변

1

URL 다시 쓰기와 MVC 라우팅은 완전히 별개의 프로세스이며 서로에 대해 알지 못합니다.

ActionLink를 만들면 MVC에 등록한 라우팅 맵을 볼 수 있으며 다시 쓰기 규칙은 보지 않습니다.

URL 다시 쓰기를 추가하려는 경우 IIS에서 역순 규칙도 정의해야합니다.

이론적으로는 작동 할 수도 있지만 실제로는 ASP.NET MVC에서 라우팅을 적용하고 URL 재 작성을 신경 쓰지 말라고 조언합니다. 라우팅 시스템은 거의 모든 시나리오를 허용 할만큼 충분히 유연합니다 (핸들링 할 수없는 상황에 직면하지 않았습니다).

+0

그렇다면 라우팅에서 정규화를 위해 모든 URL이 소문자 여야한다고 어떻게 지정할 수 있습니까? –

+0

흠, 내장 라우팅 엔진에 의해 처리 될 수없는 한 가지 시나리오가 발생할 수 있다고 생각합니다 .-)이 스레드는 SO에 대해서도 잘 이야기합니다. http://stackoverflow.com/questions/696673/ lower-case-urls-in-asp-net-mvc 내가 말했듯이 UrlRewriting을 적용하는 대신 라우팅 엔진을 확장해야합니다. 조합으로 인해 두통이 생기기 때문입니다. – Kenneth

관련 문제