2014-03-27 7 views
0

JS/CSS 번들의 경로를 생성하는 방식을 변경하기 위해 ASP.NET Bundling을 얻으려고합니다. 내 사이트가 http://example.com/myapp에서 호스팅되고 난 Scripts.Render ("~/번들 /의 JS")와 Styles.Render ("~/번들/CSS")를 사용하는 경우, 이것은 내가 무엇을 얻을 대신ASP.NET 번들에 의해 생성 된 절대 경로 - 대신 상대 경로를 생성하는 방법?

<script src="/myapp/bundles/js?v=RYQkGlZ5kEreOyiFPLgJ2SkEJtBEjiJQ6NeuVTYwXMY1"></script> 
<link href="/myapp/css?v=1FC5SbQ1-E0J4ZXC1coG1W09-2uMUsJx0S1y_amIU3U1" rel="stylesheet"/> 

그것은 여전히 ​​http://example.com/myapp에서 호스팅하지만 - - 일부 DNS 마법을 통해 우리가 URL http://myapp를 사용하는 사용자를 활성화 할 수있는 경우,이 같은 URL을 렌더링하는 스크립트/스타일 번들을 싶습니다

<script src="bundles/js?v=RYQkGlZ5kEreOyiFPLgJ2SkEJtBEjiJQ6NeuVTYwXMY1"></script> 
<link href="bundles/css?v=1FC5SbQ1-E0J4ZXC1coG1W09-2uMUsJx0S1y_amIU3U1" rel="stylesheet"/> 

해결을 위해 있는가 이? 나는 Scripts.RenderFormat 또는 Styles.RenderFormat이 도움이 될 것이라고 생각하지 않는다.

+0

'System.Web.Optimizations' 어셈블리를 파헤치는 순간, 꽤 하드 코딩 된 것처럼 보입니다. 당신이 바퀴를 재발견하고 싶지 않다면, 나는 응용 프로그램 상대 경로가 필요하다고 생각합니다. 내가 보지 못하는 것이있을 수 있습니다. –

답변

0

문제의 근본 원인은 내 웹 사이트의 루트에 앱을 구성해야한다는 것이 었습니다.

그러나 DNS 마술 (F5로드 밸런서)은이 경우에 도움이되었습니다 ... 그리고 F5 마법사는 요청에 대한 모든 URL 재 라우팅/다시 쓰기를 수행 할 수있어서 앱이 루트에서 요청이 올바른 위치에 도착합니다.