2016-06-18 5 views
0

IIS에서 .net webapp를 실행하십시오.URL 마스킹? 아마도?

저는 전에는 정말로 다루지 않았던 것을 뛰어 보았습니다. 우리는 우리 도메인에 그들 자신의 "페이지"를 가지고있는 파트너 또는 클라이언트를 가지고 있습니다. 현재 URL은 www.mydomain.com/?code=partnercode입니다.하지만 명함 등에 쉽게 사용하려면 www.mydomain.com/partnername과 같아야합니다.이 작업을 수행하는 방법을 잘 모릅니다.

나는 우리가 Web.config의에서이 작업을 수행 할 수있는 방법이 있는지 궁금하고

RewriteRule ^partnername$ index.php?code=partnerid [L] 

아파치

에 htaccess로에서 다음과 같은 일을 할 수있어? 뭔가있을 거에요.하지만 찾을 곳이 확실하지 않습니다. 나는 web.config 코드 변환기에 대한 온라인 htaccess를 시도했지만 비참하게 실패했습니다. 다른 하나는 DB에 이미있는 partnerID를 변경할 필요가 없다는 것입니다.

이 사이트의 다른 질문에서이 점을 발견했지만 필요한 부분을 찾지 못할 것이라고 생각합니다. 사용자가 페이지를 조회 한 브라우저의 URL이 변경되지만 www.mydomain.com/partnername URL을 사용하여 액세스 할 수도 있습니다.

if ($_SERVER['REQUEST_URI'] == '/index.php?code=partnerid') { 
echo '<script type="text/javascript">window.history.pushState("", "", "/partnername");</script>'; 
} 

답변

0

IIS가 부분적으로 시나리오를 지원하는 확장 기능을 가지고, 그것은 URL Rewrite라고합니다.

www.mydomain.com/partnername에서 www.mydomain.com/?code=partnername까지 URL을 다시 쓸 수 있기 때문에 부분적으로 말했습니다. 일부 파트너는없고 모든 파트너에 대해 다시 쓰기 규칙을 추가 할 수있는 경우가 아니면 지원하지 않는 것입니다 (적어도 파트너가 아니라고 생각합니다). 파트너 이름을 파트너 코드에 매핑하는 것입니다.

그리고 여기에 fraction of what you can do with URL Rewrite을 보여주는 기사가 있습니다. 귀하의 경우에는

당신이 뭔가를 볼 수 있었다 규칙 구성 (IIS에서 테스트되지 않음) www.mydomain.com/?code=partnername-www.mydomain.com/partnername를 다시 작성하려면 :

<rewrite> 
    <rules> 
    <rule name="Rewrite to query string"> 
     <!-- I'm using hardcoded text, but it is regular expression and you can 
      write very advanced conditions --> 
     <match url="^(partner)" /> 
     <!-- changes incoming url /partner to ?code=partner --> 
     <action type="Rewrite" url="?code={R:1}" /> 
    </rule> 
    </rules> 
</rewrite>