2015-01-25 7 views
0

e-Shop의 경우 OpenCart v.1.5.6.5_rc, e-Shop의 블로그의 경우 WordPress v.4.1을 사용하고 있습니다. OpenCart 또는 WordPress가 /blog/sitemap-misc.xml의 404 오류로 응답합니까?

나는 혼란 조금이 두있는 구글 XML 사이트 맵 ( https://wordpress.org/plugins/google-sitemap-generator/를) 플러그인 워드 프레스에서 생성 된 블로그의 사이트 맵 - misc.xml에 대한 404 오류 응답입니다.
이 플러그인을 사용하기 전에 나는 블로그에 대한 sitemap xml을 생성하기 위해 ( https://wordpress.org/plugins/wordpress-seo/)에 의해 WordPress SEO를 사용하고 있었고 404 오류가 발생한다고 생각했지만 그렇지 않았습니다.

내 구조는

-admin 
-blog/sitemap.xml (/blog/sitemap-misc.xml, /blog/sitemap-tax-post_tag.xml, /blog/sitemap-pt-post-2015-01.xml etc) 
-catalog 
-download 
-image 
-system 
-vqmod 
sitemap.xml (OpenCart: Extensions -> Product Feeds) - works fine 

무엇 나를 /blog/sitemap.xml 작동 더되어 있지만, /blog/sitemap.xml의 분석

-blog/sitemap.xml 
     sitemap-misc.xml 
     sitemap-tax-post_tag.xml 
     sitemap-pt-post-2015-01.xml 

이 실패 혼란 일반 HTTP 오류 : 404 찾을 수 없습니다!

실제로 브라우저에서 전체 경로를 사용하면 http://www.example.com/blog/sitemap-misc.xml, OpenCart는 404 오류로 응답합니다.

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

감사합니다.

+0

@GavinSimpson, 다음과 같은 것을 사용 하시겠습니까? - http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/help/#P221_root? – kanenas

+0

불행히도 루트 폴더 인 sitemap.xml이 이미 존재하기 때문에 (OpenCart에서 생성 됨) 사용하지 못합니다. 먼저 /blog/sitemap.xml의 이름을 /blog/sitemap-blog.xml로 변경 한 다음 루트 폴더로 이동하는 옵션이 있습니다. – kanenas

답변

0

내 문제는 OpenCart 또는 WordPress (코어)에 의해 발생하지 않았습니다.

W3 총 캐시 (https://wordpress.org/plugins/w3-total-cache/) 사용중인 WordPress 플러그인이 404 오류의 원인이었습니다!

나는 워드 프레스 정적 객체에 대한 404 오류를 처리하지 마십시오 Performance -> Browser Cache

의 옵션을 확인했다.
웹 서버가 정적 파일 (이미지 등)에 대해 404 (찾을 수 없음) 오류를 처리하도록하여 서버로드를 줄입니다.
활성화 된 경우 - WordPress 플러그인으로 즉석에서 생성 된 일부 파일에 대해 404 파일을 찾을 수 없음 응답이 표시 될 수 있습니다. 이 파일 URI를 아래의 404 오류 예외 목록에 추가하여이를 피할 수 있습니다.

# BEGIN W3TC Skip 404 error handling by WordPress for static files 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} !(robots\.txt|sitemap(_index)?\.xml(\.gz)?|[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?) 
    RewriteCond %{REQUEST_FILENAME} \.(css|htc|less|js|js2|js3|js4|html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|woff|xla|xls|xlsx|xlt|xlw|zip)$ [NC] 
    RewriteRule .* - [L] 
</IfModule> 
# END W3TC Skip 404 error handling by WordPress for static files 

그래서이 옵션을 선택 취소하면 문제가 해결되었습니다.

는 난 그냥 서버 부하를 줄이기 위해 /blog/.htaccess 파일에서이 줄
RewriteCond %{REQUEST_URI} !(robots\.txt|sitemap(_index)?\.xml(\.gz)?|[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?)
을 제거 할 수 같아요.