2012-12-19 3 views
0

나는이 곳을 어디로 가야할지 모르겠다. 나는 파일 확장자 등을 제거하기 위해 재 작성을했지만, 어떻게 해야할지를 알 수없는 것은 "가짜"루트 디렉토리를 사이트에 추가하는 것입니다. 예를 들어 사이트가 www.foo.com/index.htm 인 경우 www.foo.com/root/index.htm을 표시하도록 URL을 다시 작성하고 싶습니다. 나는 IIS 재 작성 모듈이나 mod 재 작성을 사용할 수있다. 나는이 문제에 관해서 불확실하다. (심지어 가능하다면) google-fu는 나를 실패하게 만든다.다시 쓰기를 사용하여 "가짜"루트 폴더 추가하기

+0

IIS 버전 ???? – Joe

+0

@Joe 죄송합니다. IIS7을 추가하는 것을 잊어 버렸습니다. – Hirthas

답변

1

올바르게 이해하면 접두어 root이 필요합니다. 이 경우이 재 작성은 그것을 할 것입니다 :

<rule name="StripRoot" stopProcessing="true"> 
    <match url="root/(.*)" /> 
    <action type="Rewrite" url="/{R:1}" /> 
</rule> 

를 HTML이 필요 클라이언트 아웃 바운드 규칙에 봉사 수정하려면 :

<outboundRules> 
    <rule name="FakeRoot" preCondition="IsHtml"> 
     <match filterByTags="A, Area, Base, Form, Frame, IFrame, Img, Input, Link, Script" pattern="http://www\.foo\.com/(.*)" /> 
     <action type="Rewrite" value="http://www.foo.com/root/{R:1}" /> 
    </rule> 
    <preConditions> 
     <preCondition name="IsHtml"> 
      <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 
     </preCondition> 
    </preConditions> 
</outboundRules> 

그것은 상대하는 경우, 당신이 태그에 정규화 된 URL이 있다고 가정 속성 링크를 사용하면 더 복잡한 재 작성이 필요합니다.

+0

나는 이것을 넣었고 URL에 root/디렉토리를 추가하지 않았습니다. 그러나 루트에 /를 입력하면 404 디렉토리 오류가 발생하지 않습니다. 제안 해 주셔서 대단히 감사합니다. – Hirthas

+0

귀하의 질문에서 정확한 요구 사항을 파악하는 것은 어렵습니다. – Tomek

+0

내 웹 사이트 URL은 www.foo.com/index.htm입니다. 실제로 파일을 이동하는 것은 옵션이 아니므로 www.foo.com/root/index.htm이되도록 다시 작성하고 싶습니다. – Hirthas