2012-10-15 3 views
0

이것은 매우 기본이지만 작동하는 해결책을 찾을 수 없습니다. 난 그냥 이전 디렉토리의 모든 URL을 새 URL로 리디렉션해야합니다.첫 번째 디렉토리에 대한 간단한 RewriteRule

예 :

/search/whatever 

나는 무엇이든, 내가 시작하는 URL에 모든 트래픽을 원하는/검색 리디렉션하기 (301)를 매핑 할 필요가 없습니다

/jobs/search 

합니다. 이 사용

:

RewriteRule /search /jobs [R=301,L] 

작품 그러나 나는 또한 지금 리디렉션됩니다/작업 내에서 URL이 있습니다

/jobs/search 

을 그리고 그 잘못 - 그것은 URL의 시작을 일치해야합니다. 그래서 나는 이것을 시도했다 :

RewriteRule ^/search /jobs [R=301,L] 

그러나 그것은 전혀 붙지 않았다.

RewriteRule의/채용 애트 순수/EMEA/콘택트 US/채용 애트 순수한 [R = 301, L]

이 채용 같은 루프를 작성

또 다른 예는 이러한 것 -at-pure는 이전 URL과 새 URL에 있지만 다음은 일치하고 리디렉션되지 않습니다.

RewriteRule ^/career-pure/emea/contact-us/career-at-pure [R = 301, L]

의견이 있으십니까?

감사

답변

0

그들이 htaccess로 파일 재 작성 규칙을 통해 넣어 될 때 선행 슬래시는 URI에서 제거됩니다. 당신은 정규식에서 선도적 인 슬래시를 제거하거나 적어도 선택 사항으로 만들어야합니다 :

RewriteRule ^/?search /jobs [R=301,L] 
+0

고마워, 존. 불행히도 나는 아직 리디렉션이 발생하는 것을보고 있지 않습니다.^문자를 제거하는 경우에만 리디렉션됩니다. –

+0

@RussBack 이것은 하위 디렉토리에서 모두 발생하기 때문에입니까? –

+0

새 사이트에 대한 요구 사항입니다. 이전 URL은 새 URL로 리디렉션되어야합니다. 새로운 위치는 하위 디렉토리가 아니며 /index.php?jobs로 다시 작성됩니다. URL을 깨끗하게 유지하려면/작업을 리디렉션/검색하고 싶습니다. 말이 돼? –

관련 문제