2017-10-10 5 views
4

Server 2012 R2와 IIS를 사용하여 새 서버를 설정하고 새 사이트에 응용 프로그램을 게시했습니다. 개발 환경에서 응용 프로그램을 실행하면 URL에 .aspx 파일 확장명이 표시되지만 IIS 서버에서 게시 된 인스턴스를 탐색하면 .aspx 확장명이 제거됩니다.IIS 8의 URL에 .aspx가 누락되었습니다.

그래서 어떻게 든 URL 재 작성 기능을 사용할 수 있습니다. 개발 버전과 일관성을 유지하려면 어떻게해야합니까? URL 재 작성 확장을 설치하여 어떻게 든 규칙이 구성되었지만 정의 된 규칙이 없는지 확인합니다.

감사합니다.

+0

릴리스 구성 파일에 URL 재 작성이있을 수 있습니다 (예 : Web.Release.config). 디버그 구성에 없는가? – krlzlx

+0

@krlzlx 두려워하지 않고 아이디어를 주셔서 감사합니다. – ebooyens

답변

0

현재 페이지 URL의 페이지 이름을 기반으로 적절한 메뉴 항목을 강조 표시하여 활성화 된 페이지를 보여주는 메뉴 시스템을 개발 한 이유가 여기에있는 이유입니다. 우리는 확장자를 포함한 전체 페이지 이름을 평가하기보다는 .aspx없이 .contains ("pagename")를 찾기 위해 코드를 수정했습니다. 이것은 잘 작동하고 우리는 URL이 다시 쓰여지고있는 원인을 파악할 수 없었습니다. 위의 답변 중 어느 것도 내가 두려워하는 문제를 확인하는 데 도움이되지 않았습니다.

+0

그래도 .aspx 확장자가 없습니까? 귀하가 확인한 귀하의 솔루션은 우회이지만 확장되지 않은 문제는 해결되지 않습니다. – krlzlx

0

이 같은 재 작성 규칙 (examplePage.aspx)와 web.config 파일을 구성 할 수 있습니다 작동합니다

<?xml version="1.0"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="examplePage.aspx Redirect" stopProcessing="true"> 
        <match url="^(.*\/)*examplePage\.aspx$" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" /> 
        </conditions> 
        <action type="Redirect" url="{R:1}" redirectType="Permanent"/> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

희망!

+0

안녕하세요 @ Asif.Ali가 .aspx를 URL에 다시 추가해야합니다. 나는 applciation의 web.config 파일에 추가했지만 어떤 차이점은 보이지 않습니다. 감사합니다 – ebooyens

0

개발시 특정 종류의 웹 프로젝트를 만들 때이 동작이 발생했습니다. 그래서 그것은 설치되는 무언가가 방해 할 수 있습니다. 나는 당신이 web.config를 이미 본 것 같지만 거기에 없다면 machine.config를 시도해보십시오. 또한 루트 수준 (웹 사이트 위의 수준)을 클릭 할 때 설치되는 IIS 자체를 살펴보십시오.

+0

이것은 프로덕션 서버에서 정상적으로 작동하는 개발 서버에서 발생합니다. 프로덕션 서버에는 .aspx 접미사가 있지만 프로덕션 서버에는 없습니다. 프로덕션 서버에 사용자 정의 설치 또는 구성이 없습니다. 새로 설치되었습니다. – ebooyens