2017-03-08 4 views
2

대용량 데이터베이스 기반 웹 사이트를 coldfusion .cfm에서 .net aspx로 이동합니다. 나는 거의 끝났지 만 새로운 coldpusion 페이지에서 301 페이지의 리다이렉트를 할 필요가있다. 구글과 같은 식으로 검색 엔진을 잃어 버리는 것을 원하지 않는다. 그래서 URL Rewrite를 사용하려고했으나 작동하지 못했습니다. 대부분 404s를 되 찾을 수 있습니다.SEO 용 IIS 재 작성 URL을 사용하여 모든 ColdFusion CFM 페이지를 ASP aspx 페이지로 이동

기본적으로 내 새 aspx 페이지는 모두 같은 파일 이름이고 .cfm은 .aspx로 바뀌고 일부 페이지는 그 뒤에 긴 쿼리 문자열을 가질 수 있습니다.

예 :

http://www.example.com/test.cfm 필요 http://www.example.com/test.aspx

http://www.example.com/test2.cfm?a=1&b=2&c=3 요구에 매핑 할 수는 http://www.example.com/test2.aspx?a=1&b=2&c=3

자체가 페이지의 수백을 가지고 있으며, 일부 페이지는 쿼리 문자열에서 8 이상의 변수를 가지고있는 사이트에 매핑 할 그래서 나는 URL 재 작성에서 바로 맵을 시도하고 싶었다. 페이지 당 규칙을 수행 할 수 없으므로 연령이 오래 걸릴 것입니다.

나의 현재의 시도는 다음과 같습니다

<rule name="redirect all requests" stopProcessing="true"> 
<match url="^(.*)$" ignoreCase="true" /> 
<conditions logicalGrouping="MatchAll"> 
<add input="{URL}" pattern="^http://www.example.com/(.*).cfm(.*)$" /> 
</conditions> 
<action type="Redirect" url="http://www.example.com/{C:1}.aspx" appendQueryString="true" logRewrittenUrl="true" /> 
</rule> 

이 그냥 나를 위해 (404)을 수행합니다. 분명히 cfm 페이지는 존재하지 않으며 aspx 페이지는 현재 그렇게합니다. 나는 아직도 cold fusion을 서버에 설치했고, Google이 스스로를 업데이트 할 때까지 제거하고 싶지는 않습니다. (문제가 생겨서 항상 돌아갈 수 있습니다.)

도움을 주시면 감사하겠습니다.

감사

데이비드

문서는이 모든 것을 포함하는 것
+0

로드하려는 파일의 이름이 IIS 404 페이지 이름이 아닙니다. –

답변

0

그것은이처럼 ...

<rule name="CFM301ASP" stopProcessing="true"> 
    <match url="^(.*)$" /> 
    <conditions> 
     <add input="{REQUEST_FILENAME}" pattern="^.*\.cfm$" negate="false" ignoreCase="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> 
    </conditions> 
    <action type="Redirect" url="/yourfile.aspx" appendQueryString="true" redirectType="Permanent" /> 
</rule> 

존재하지 않는 CFMS (ISFILE = 거짓)에이에서만 작동합니다. 301에서 CFM을 리디렉션하여 ASP 파일에 404를 발생시키고 URL 변수를 추가합니다.

0

. HTTP Redirect에 워드 프로세서

는 :

<configuration> <system.webServer> <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found"> <add wildcard="*.php" destination="/default.htm" /> </httpRedirect> </system.webServer> </configuration>

이것은 당신이 다른 하나 개의 파일 확장 파일에서 URL을 매핑 할 수 있어야한다고 믿고 나를 이끌었다.

Creating Rewrite Rules for the URL Rewrite Module

<rewrite> <rules> <rule name="Rewrite to article.aspx"> <match url="^article/([0-9]+)/([_0-9a-z-]+)" /> <action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" /> </rule> </rules> </rewrite>

, 당신은, 당신은 단지 *.aspx*.cfm에서 전송할 수 있도록 올바른 구문을 찾을 수 있어야합니다 같은 쿼리 문자열을 따라 통과, 또는 제작이 문서를 읽어보십시오 필요에 따라 번역하십시오.

+0

이 예제는 리디렉션하지 않으며 재 작성입니다. 그리고 그것은 모든 url 변수를 보존하지 않습니다. – Jules