2008-08-05 8 views

답변

23

관리 퓨전 URL Rewriter가 시도하고 반대로 사용자가 원하는 :

http://urlrewriter.codeplex.com

이 재 작성을위한 규칙을 것입니다 be :

# 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] 
+0

제안 : 첫 번째 RewriteRule을^/? users = (\ w *) http://www.website.com/?users=smith&day=monday가 http://www.website.com/users/smith&day=monday를 생성하지 않도록 – Dscoduc

+0

좋은 생각이며이 .NET 버전에서 완전히 지원됩니다. 원래 의도는 내 예제를 해당 구문을 지원하지 않는 mod_rewrite와 호환되도록 만드는 것이 었습니다. –

+0

이것은 굉장합니다. –

20

Scott Guthrie는 .Net에서이 작업을 수행하는 방법을 매우 광범위하게 다루고 있습니다. here.

저는 httpmodule 접근 방식을 사용했으며 제대로 작동합니다. 그것은 기본적으로 ManagedFusion이 당신을 위해 무엇을하고 있는지입니다.

+0

고마워, ScottGu 블로그에 자리했다! –

4

내가 큰 성공을 www.urlrewriting.net에서 URL 재 작성을위한 HttpModule을 사용했다 당신이 다음 거의 실제 재 작성 규칙입니다 .NET 2.0에 내장 URL 매핑이있는 경우

(I 훨씬 이전, 간단 버전을 생각이기는하지만) 아마도 더 쉬운 옵션 일 것입니다. 웹상에 이들에 대한 몇 가지 글이 있습니다. 4guysfromrolla 하나는 상당히 철저한 것처럼 보입니다. 그러나 볼 수 있듯이 정규 표현식 매핑을 지원하지 않으면 동적 환경에서 상당히 쓸모 없게됩니다 (" 스미스 "는 특별한 경우가 아니므로 사용하지 않아도됩니다.)

5

Microsoft는 이제 공식 URL 재 작성 모드 IIS 용 ule : http://www.iis.net/download/urlrewrite

서버 변수 및 와일드 카드 설정과 같은 대부분의 재 작성 유형을 지원합니다.

그것은 또한 모든 Azure 웹 인스턴스에서 즉시 사용할 수 있습니다.

+0

이것은 흥미로운 것 같습니다. IIS6에서 작동하는지, 네트워크 스택의 어느 수준에서 작동하는지 알고 있습니까? – GateKiller

+0

이것은 IIS7 이상의 솔루션 (모듈 http://learn.iis.net/page.aspx/121/iis-7-modules-overview/)입니다. IIS6의 경우 www.isapirewrite.com이 필요하거나 www.urlrewriter.net, isapi는 iis6의 안정적인 상용 제품처럼 보입니다 –

+0

@GateKiller :) 내 이전 의견으로 알려 드리는 것을 잊어 버렸습니다. –