2013-04-11 5 views
0

모든 도움을 받으실 수 있습니다..htaccess는 서브 디렉토리에서 다시 작성합니다.

.htaccess 파일에 301 리디렉션을 설정하여 수백 개의 기존 URL을 최신 라이브 페이지로 리디렉션합니다.

내 htaccess로 파일을 현재 도메인의 루트에있는이 같은 모습입니다

: 하나 개의 URL을 사용 htaccess로 리디렉션하는 방법을 대량에 대한 답을 연구하는 동안

RewriteCond %{QUERY_STRING} ^pName=product-one$ [OR] 
RewriteCond %{QUERY_STRING} ^pName=product-two$ [OR] 
RewriteCond %{QUERY_STRING} ^pName=completely-different-name$ 
RewriteRule ^catalog/product_info.php$ http://www.mydomain.com/new-product-name-p-123.html? [R=301,L] 

을, 나는 그것을 읽었 .htaccess 파일의 위치를 ​​변경하고 그것이 적용되는 특정 디렉토리에 위치 시키면 다른 디렉토리에 대한 요청은 이러한 규칙조차 갖지 않을 것입니다.

그래서 .htaccess 파일을 카탈로그 인 특정 하위 디렉터리에 배치했지만 리디렉션이 더 이상 작동하지 않습니다. 내가 여기서 무엇을 놓치고 있니? URL에 대한 규칙이 카탈로그 폴더 내의 .htaccess 파일에 배치되도록 리디렉션되도록하여 루트 .htaccess가로드 될 때마다 모든 다시 쓰기 규칙이로드되지 않도록해야합니다.

+0

나는 또한 OScommerce가 있으므로 구체적인 예를 확인할 것입니다. –

+0

정확히 무엇을하려하십니까? 더 설명해 주시겠습니까? –

답변

0

OSCommerce의 카탈로그 폴더에 직접 경로가 포함되도록 리디렉션 301 행을 변경하는 것이 좋습니다. 카탈로그가 http://youdDomain.com/website/catalog/에있는 경우

그래서 대신

RewriteRule ^catalog/product_info.php$ http://www.mydomain.com/new-product-name-p-123.html? [R=301,L] 

사용 예컨대 :

Redirect 301 /website/catalog http://www.mydomain.com/page2.htm 

또는

Redirect 301 /catalog http://www.mydomain.com/page2.htm 

옵션 1)을 사용하여입니다. 가 http://youdDomain.com/website/aaa/catalog/에있는 경우 사용합니다 :

Redirect 301 /website/aaa/catalog http://www.mydomain.com/page2.htm 

나는 내 자신의 웹 서버에서이 테스트 -이 도움이되기를 바랍니다.

0

.htaccess를 하위 디렉토리에 배치 할 때 그에 따라 RewriteRule 패턴을 조정해야합니다. mod_rewrite는 .htaccess 파일이있는 디렉터리 접두사를 제거합니다 (RewriteRule - What is matched? 참조). 당신이 다시 작성하는 URL 경로가 많이있는 경우

당신은 당신은 또한 RewriteMap 보길 원하는 것일 수도,

RewriteRule ^product_info.php$ ... 

에 규칙을 변경해야합니다.

관련 문제