2012-09-24 4 views
0

우리 사이트의 일부를 하나의 하위 폴더에서 다른 하위 폴더로 옮겼습니다. 이 폴더의 파일들에 대해 영구적 인 리다이렉트 (301)를 htaccess에 넣기를 원한다. (일부는 파일 이름도 바꿨으므로 전체 폴더에 대해 하나의 규칙 만 설정할 수는 없다.) 여기 내가 시도한 바가있다하나의 파일에 대해 htaccess를 다른 폴더에 다시 쓰려면 어떻게해야합니까?

RewriteRule ^search/tutorial-search.html$ db/tutorial.php [R=301] 

이것은 작동하지 않지만 이전 URL을 입력 할 때 404 응답을 얻는다.

RewriteRule ^search/tutorial-search.html$ search/tutorial-search.php 

난 정말 큰 차이를 보이지 않는 :이처럼 보이는 작업을 수행 연령대 장소에서 규칙을 가지고 나는이 호기심을 찾을 수 있습니다. 나도 (다른 사람들과) 다음 중 하나를 시도했지만 어느 쪽이든 작동하지 않습니다.

RewriteRule ^search/tutorial-search.html$ db/tutorial.php 

정확히이 문제의 원인은 무엇입니까? htaccess 파일의 같은 줄에이 모든 것을 넣었는지 확인하십시오. 다른 폴더에 다시 쓰고 있기 때문입니까? 고마워 :)

+0

업데이트 : 그것은이었다 – janb

답변

0

리디렉션 할 때 Apache가 URL 경로와 파일 경로를 잘못 인식 할 수 있기 때문에 다시 쓰기 대상에 선행 슬래시를 추가해보십시오.

RewriteRule ^search/tutorial-search.html$ /db/tutorial.php [R=301] 
+0

감사 규칙을 덮어 htaccess로의 이상 (타사) 부분은 불행하게도 여전히 404 :( – janb

+0

@janb 결과 그에게'HTTP를 가고 있는가 : // 사용자 도메인. com/db/tutorial.php' 결과가 404가 되었습니까? 문서 루트에 htaccess 파일이 있습니까? –

+0

아니요, 직접 URL에 액세스해도 404가 발생하지 않았으며, 그 사실을 확인했습니다. 예, htaccess가 루트에 있습니다. 내가 말했듯이 내가 이전에했던 코드로 코드를 대체하면 (2 번 코드 스 니펫) 의도 한대로 작동하지만 이전의 리다이렉션과 새 폴더 구조에 대해 더 이상 올바르지 않다. – janb

관련 문제