2012-10-31 3 views
0

최근에 저는 wordpress webshop을 magento webshop으로 변환했습니다. 이제 검색 엔진에서 색인 생성 한 모든 이전 URL을 magento에서 새 URL로 리디렉션하고 싶습니다. 약 150 개의 제품이 있었기 때문에 수동으로 처리 할 것이라고 생각했습니다. .htaccess 리디렉션이 잘못된 URL로 리디렉션됩니다.

내가 모든 제품에 대해 뭘하려 :

Redirect 301 /products-page/accu/unibat-ctz5s-bs/ http://www.domain.nl/accu-s/unibat-ctz5s-bs.html 

그것은 리디렉션하려고 않지만,이 URL에 끝 : http://www.domain.nl/accu-s.htmlunibat-ctz5s-bs/, 404 :(

수있는 사람이 도움을 준다 나 밖으로 여기?

+0

이것은 _.htaccess_ 파일의 유일한 코드 행입니다. 이것이 domain.nl의 유일한 _.htaccess_ 파일입니다. ?? –

+0

안녕하세요, .htaccess 파일에 여러 줄이 있습니다. 그것의 표준 magento .htaccess 파일이 같은 리디렉션의 약 150 여분의 라인. –

답변

1

htaccess의 끝에 mod_rewrite 규칙이 mod_alias 지시문 (Redirect 문)을 방해하고있는 것 같아요.이 경우 리디렉션을 수행 한 다음 URL/파일 맵핑 파이프 라인을 사용하고 mod_rewrite와 mod_alias가 파이프 라인에서 자신들의 일을 처리하기 때문에 둘 다 URI를 조작합니다. 다만, mod_rewrite를 고수에 문을 모두 변경 :이 다른 규칙의 어떤 전에 을 갈 필요가

RewriteRule ^/?products-page/accu/unibat-ctz5s-bs/$ http://www.domain.nl/accu-s/unibat-ctz5s-bs.html [L,R=301] 

. 또한 RewriteRule을 사용하여 Redirect 문이 작동하고 리디렉션되는 방식을 염두에 두십시오. 은 2 개의 URI 경로 노드를 "연결"합니다. 그래서 뭔가 같은 :

Redirect 301 /foo http://www.domain.nl/bar 

따라서 /foo/blah/blah.html에 대한 요청이 http://www.domain.nl/bar/blah/blah.html로 리디렉션 것, 함께 /foo/bar를 연결겠습니까. 이 기능을 다시 쓰기 규칙으로 변환하려면 다음을 입력하십시오.

RewriteRule ^/?foo(.*)$ http://www.domain.nl/bar$1 [L,R=301] 
+0

답변 해 주셔서 감사합니다. 다시 쓰기 규칙을 사용할 때 작동합니다. 그냥 한 제품에. 나머지는 여전히 잘못된 URL로 리다이렉트한다 : ( –

+0

@DavidEricsson 당신은 모든'Redirect' 문을 동등한'RewriteRule'으로 변경해야한다. 요점은 mod_alias이고 mod_rewrite는 서로 잘 작동하지 않으므로 사용할 수 없다. mod_alias ** 모두 중복되는 경로 ** –

+0

Jon Lin 감사합니다! 당신은 내 영웅입니다! –

관련 문제