2012-12-13 7 views
0

내 웹 사이트에 URL 재 작성을 사용합니다. IIS에서 설정을했고 서버에서 작동합니다. 하지만 localhost에서는 작동하지 않습니다. 프로젝트 파일에 다시 작성된 URL이있는 페이지가 없기 때문에 정상입니다. 이 문제를 어떻게 해결할 수 있습니까? 프로젝트를 개발할 때 cassini 서버를 사용합니다. 내 컴퓨터에서 로컬 IIS를 사용해야합니까? web.config 파일에서 내 URL 재 작성 역할을 볼 수 있습니다.URL 재 작성은 IIS에서 작동하지만 로컬 호스트에서는 수행되지 않습니다.

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
     <rewrite> 
      <outboundRules> 
       <rule name="OutboundRewriteUserFriendlyURL1" preCondition="ResponseIsHtml1"> 
        <match filterByTags="A, Form, Img" pattern="^(.*/)ProductDetail\.aspx\?prid=([^=&amp;]+)&amp;(?:amp;)?product=([^=&amp;]+)$" /> 
        <action type="Rewrite" value="{R:1}ProductDetail/{R:2}/{R:3}/" /> 
       </rule> 
       <preConditions> 
        <preCondition name="ResponseIsHtml1"> 
         <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 
        </preCondition> 
       </preConditions> 
      </outboundRules> 
      <rules> 
       <rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
        <match url="^urun/([^/]+)/([^/]+)/?$" /> 
        <conditions> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="ProductDetail.aspx?prid={R:1}&amp;product={R:2}" /> 
       </rule> 

      </rules> 
     </rewrite> 
     <urlCompression doDynamicCompression="false" /> 
    </system.webServer> 
+0

관련 : http://stackoverflow.com/q/2708187/1001985, http://stackoverflow.com/q/963545/1001985 – McGarnagle

답변

3

대신 URL 라우팅을 사용하지 않는 이유는 무엇입니까? 더 나은 방법입니다.

+0

덕분에 내 동생. 그것은 더 잘 작동합니다 :) – cagin

0

예. Windows 구성 요소 추가/제거를 사용하여 로컬 컴퓨터에 IIS를 설치해야합니다.

로컬 IIS에서 "URL 다시 쓰기 모듈"을 설치 한 후에 활성화해야합니다.

0

부정형 조건 <add input="{HTTP_HOST}" pattern="localhost" negate="true" /> 을 추가해야 URL 재 작성자가 localhost에서 요청을 무시합니다.

<rewrite> 
    <rules> 
    <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
     <match url="(.*)" /> 
     <conditions> 
     <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
     <add input="{HTTP_HOST}" pattern="localhost" negate="true" /> 
     </conditions> 
     <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" /> 
    </rule> 
    </rules> 
</rewrite>