2012-12-28 3 views
0

하나 개의 하위 디렉토리에서 다시 htaccess로? 자주 묻는 질문 = faqname가)로 다시 작성하기 :나는 다음과 같은 파일이 다른

/faq/faqname-http://www.domain.com/faq/faqname

에 나는 아무 소용이 다음의 .htaccess 규칙을 노력했습니다. 내 /forums/.htaccess에

RewriteRule ^forums/faq.php?faq=(.*)$ faq/$1 [L,R=301] 
RewriteRule ^faq$ faq/ [L,QSA,R=301] 

: 내 루트의 .htaccess에

RewriteRule ^faq.php?faq=(.*)$ http://www.domain.com/faq/$1 [L,R=301] 

은 여기 정말 뭔가를 분명 내려다 될 수 있습니까? 구문이 해제되어 있습니까?

답변

0
  1. 당신은 /forums/ htaccess로의 규칙을 도랑 수 있으며, 규칙이 문서 루트의 규칙보다 우선합니다. 두 곳 모두에서 필요하지 않습니다.

  2. 규칙에 따라 원하는대로 리디렉션 루프가 발생합니다.

RewriteRule의 쿼리 문자열과 일치시킬 수 없으므로 첫 번째 규칙은 아무 것도 일치하지 않습니다. 당신이 정말로하고 싶은 것은 실제 요청과 일치하는 것입니다. 당신이해야 할 다음

# redirect /forums/faq.php?faq=faqname to /faq/faqname 
RewriteCond %{THE_REQUEST} \ /forums/faq\.php\?faq=([^&\ ]+) 
RewriteRule ^forums/faq.php$ /faq/%1? [L,R=301] 

내부적으로

RewriteRule ^faq/(.+)$ /forums/faq.php?faq=$1 [L,QSA] 
다시 변경
관련 문제