2015-01-16 2 views
0

나는 현재 마이 그 레이션 된 사이트를 개발 중이지만 이제는 홈 페이지 404s를 제외한 모든 페이지가 연결됩니다.IIS permalink 호환성 - web.config가 작동하지 않습니까?

나는 이것에 대한 광범위한 연구를 해왔고 아무 것도 도움이되지 못했습니다. 시도한 것을 나열 해 보겠습니다.

  1. IIS가있는 Windows 서버에서 실행됩니다. 그래서 그것이 Permalinks 구조 문제라면 web.config 파일 (mod_rewrite 기능)이 문제를 해결해야합니다. 그러나 그렇지 않습니다. 홈 페이지가 그대로 나타나고 다른 페이지는 여전히 404.
  2. Permalinks를 기본값으로 전환하면 문제가 해결되지만 클라이언트가 원하는 링크가 망가집니다. 그래서 이것을 해결책으로 사용할 수는 없습니다. 퍼머 링크는 "게시물 이름"에 있어야합니다.
  3. 광범위한 IIS 연구에 따르면 가능한 솔루션 중 하나는 ISAPI Rewrites 일 수 있습니다. 나는 Wordpress ... ISAPI Rewriter 용 플러그인을 다운로드했다. 이 플러그인을 활성화하면 홈페이지도 손상됩니다. 그래서 나는 그 플러그인을 비활성화했다.
  4. 마이 그 레이션은 All-In-One WP Migration을 사용하여 수행되었습니다. (필자가 알 수있는 한) 거의 아무것도하지 않았습니다. 데이터베이스가 포팅되었을 수 있습니다. 그 내용은 좋았습니다. 테마는 좋아 보였다. 그러나 그 중 어느 것도 (상당한 금액이있는) 갈고리 중 어느 것도 오지 않았습니다. 또한 수정 된 테마의 실제 자바 스크립트 파일은 새 사이트에서 수정되지 않은 상태로 남았습니다. 따라서 홈 페이지의 큰 부분 (확장마다 다른 모든 페이지)은 작동하지 않습니다. 퍼멀 링크 문제를 해결하기 위해 올인원 WP 마이그레이션을 사용한 후에도 퍼널 링크 설정을 두 번 저장해야합니다. 나는 그랬다. 오류가 지속됩니다. 홈 페이지를 제외한 모든 페이지 404.
  5. All-In-One WP Migration의 개발자에게 연락하여 실험용 새 버전을 출시했습니다 ... 나는 그저 멈출 것입니다. 문제가 지속됩니다. 모든 페이지 404.
  6. Wordpress Codex에서 직접 작성한 코드로 web.config 파일을 업데이트하는 방법을 포함하여이 문제를 해결하는 방법에 대해 Microsoft 사이트와 Wordpress Codex에서 스레드와 페이지를 발견했습니다. 모두 소용 없다.
  7. 내가이 사이트에 이와 같은 백만 가지 질문이 있음을 알기에 앞서 거의 모든 것을 살펴 보았습니다. 도움이 안돼.

누군가 IIS에서이 문제를 실제로 해결 했습니까? 아무도 이것에 관해 밝혀 주거나 새로운 방향으로 나를 가리킬 수 있습니까? 다음과 같이 내 web.config 파일에 대한

코드는 다음과 같습니다

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="wordpress" patternSyntax="Wildcard"> 
      <match url="*"/> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> 
       </conditions> 
      <action type="Rewrite" url="index.php"/> 
     </rule></rules> 
    </rewrite> 
    </system.webServer> 
</configuration> 

이 설정은 내가 지금 작업하고있는 일에 여기에 있지만 비슷한 서버에 IIS에 다른 사이트에서 일했다. Wordpress는이 코드를 대신 권장합니다 :

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
<rewrite> 
<rules> 
<rule name="WordPress Rule" stopProcessing="true"> //notice a change here 
<match url=".*" /> 
<conditions> 
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
</conditions> 
<action type="Rewrite" url="index.php?page_id={R:0}" /> //notice a change here 
</rule> 
</rules> 
</rewrite> 
</system.webServer> 
</configuration> 

나는 이것을 성공했다. 다른 아이디어?

답변

1

II에 대해이 코드를 사용하기 전에 몇 차례 추가했습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="rule 1E" stopProcessing="true"> 
        <match url="^overseer/?$" /> 
         <action type="Rewrite" url="//wp-login.php" appendQueryString="true" /> 
       </rule> 
       <rule name="WordPress Rule" stopProcessing="true"> 
        <match url=".*" /> 
         <conditions> 
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
         </conditions> 
        <action type="Rewrite" url="index.php?page_id={R:0}" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+0

도움을 주셔서 감사하지만 불행히도이 문제가 해결되지 않았습니다. 페이지는 여전히 404ing입니다. – Rambo8000