2012-07-13 2 views
2

내 웹 사이트에는 매뉴얼, 브로셔, MSDS 등을위한 PDF 파일 모음이 있습니다.이 파일을 다운로드 할 수있는 링크는 "다운로드"영역, 정보 페이지 및 제품 페이지에 흩어져 있습니다. 파일이 내가 리디렉션을 만드는 방법을 알 필요가에 링크 된 모든 단일 페이지를 업데이트 할 필요가 없습니다하기 위해, 그래서 우리는 정기적으로 브로셔를 업데이트 할 경우 이전 URL :Magento 맞춤 URL 다시 쓰기가 작동하지 않습니다.

http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-109.pdf

것이다 영구적으로 나는 사용자 정의 URL 재 작성을 시도

http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf

새로운 URL로 리디렉션 그리고 내가 그것을 어떻게 구성했는지 작동하지 않습니다 유형 : 사용자 정의 ID 경로 :/미디어/PDF 파일/EcoPondKitsBroch-MPF -109.pdf 요청 경로 : /media/pdfs/EcoPondKitsBroch-MPF-109.pdf 대상 경로 : http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf 리디렉션 : 영구 내가 잘못 뭐하는 거지 (301)

? 이 일을 할 수있는 방법이 있습니까?

답변

1

Magentos 내부 URL 다시 쓰기 관리를 사용하여 media 폴더의 파일을 다시 쓸 수 없습니다. URL은 심지어 index.php에서 중앙 진입 점에 도달하지 Magentos media (또는 skin 또는 js) 폴더를 가리키는하지만, 직접을 제공하고 있기 때문에입니다

.

가 Magentos 루트 .htaccess 파일에서 살펴 보자 귀하의 URL과 함께

RewriteCond %{REQUEST_URI} !^/(media|skin|js)/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php [L] 

를 첫 번째 RewriteCond이 일치하지 않는 것입니다. 이 조건은 "URL이 /media/ 또는 /skin/ 또는 /js/"으로 시작하지 않는 경우입니다.

하지만 으로 시작하며 /media/으로 시작합니다. 따라서 이 아닌index.php으로 다시 작성되며 Magentos 내부 URL 재 작성 관리에 도달 할 수 없습니다. 난 정말이 좌절 얻고 있었다,

Redirect 301 /media/pdfs/EcoPondKitsBroch-MPF-109.pdf /media/pdfs/EcoPondKitsBroch-MPF-512.pdf 
+0

감사합니다,하지만 지금은 작동하지 않는 이유를 이해 :

당신이 바로 첫 번째 RewriteCond 전에 다음 줄을 삽입 할 수 원하는 것을 달성하기 위해. 나는에서 해결책을 시도했다. htaccess 파일은 내부 서버 오류를 일으켰습니다. 운좋게도 이전 .htaccess의 백업을 만들어 모든 것을 정상으로 되돌릴 수있었습니다. 나는 무엇을 할 수 있었느냐? – Pat

+0

'Redirect' 지시자를 사용하면 아파치 설정에서'mod_alias'가 활성화되어있는 한 작동 할 것입니다. 보통은 항상 그렇습니다. 방금 우분투, RHEL 및 Windows에서 실행되는 여러 Magento 설치에서이 파일을 테스트하고이 파일을 모두 예상대로 삽입했습니다. 'mod_alias'가 비활성화되어 있거나, 라인을 제대로 삽입하지 않았다는 것을 제외하고, 여러분의 환경에서 작동해서는 안되는 이유를 모르겠습니다. PDF를 요청한 결과가 내부 서버 오류 일 때 사용 된'.htaccess' 파일을 보여 주면 도움이 될 것입니다. –

+0

여기에 무슨 일이 있었는지, 나는 지금 일하고있는 리디렉션에서 미래의 재 작성을 게시 할 것입니다. 당신의 도움에 감사드립니다! ##는 재 작성을 가능하게 옵션 + FollowSymLinks를 한다 RewriteEngine 리디렉션에 301 /media/pdfs/EcoPondKitsBroch-MPF-109.pdf http://easypropondproducts.com/media/pdfs/EcoPondKitsBroch-MPF-512.pdf ## 당신은 CGI 환경에서 HTTP 인증 ## 한다 RewriteRule에 대한 #RewriteBase/젠토/ ## 해결 방법 웹 루트에 여기 젠토 루트 폴더 ## 상대적인 경로를 넣을 수 있습니다 * - [E = HTTP_AUTHORIZATION :. % {HTTP를 : 권한 부여 }] – Pat

관련 문제