문제

ASP.NET에서 URL을 어떻게 다시 작성합니까?

사용자가 goto로 이동할 수 있었으면 좋겠습니다. http://www.website.com/users/smith 대신에 http://www.website.com/?user=스미스

도움이 되었습니까?

해결책

Managed Fusion Url Rewriter 및 역방향 프록시를 사용해 보세요.

http://urlrewriter.codeplex.com

이를 다시 작성하는 규칙은 다음과 같습니다.

# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*)  /users/$1 [NC,R=301]

# rewrite the rule internally
RewriteRule ^/users/(.*)  /?user=$1 [NC,L]

다른 팁

Microsoft는 이제 IIS용 공식 URL 재작성 모듈을 제공합니다. http://www.iis.net/download/urlrewrite

서버 변수 및 와일드카드 설정을 포함하여 대부분의 재작성 유형을 지원합니다.

또한 기본적으로 모든 Azure 웹 인스턴스에도 존재합니다.

URL 재작성을 위해 http모듈을 사용했습니다. www.urlrewriting.net 큰 성공을 거두었습니다. (비록 저는 훨씬 더 빠르고 간단한 버전을 믿습니다)

실제 재작성 규칙이 거의 없다면 .NET 2.0에 내장된 URL 매핑이 아마도 더 쉬운 옵션일 것입니다. 웹에는 이에 대한 몇 가지 글이 있습니다. 4guysfromrolla 하나는 상당히 철저해 보이지만 보시다시피 정규식 매핑을 지원하지 않으므로 동적 환경에서는 상당히 쓸모가 없게 됩니다(예제의 "smith"가 특별한 경우가 아니라고 가정하면 쓸모가 없습니다).

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