2015-01-16 3 views
1

저는 현재 웹 사이트 재개발의 마지막 단계에 있지만 새로운 블로그 형식으로 이전 블로그 링크를 리디렉션하는 데 어려움이 있습니다.310 포함 된 URL 리다이렉트? (물음표)

우리는의 형태로 된 블로그 인바운드 링크가 있습니다 http://www.domain_name.co.uk/blog-page/

요구가 될

인덱스 페이지 것은

http://www.domain_name.co.uk/news/

이 충분히 용이하고있다 사용하여 완료

RewriteRule ^blog-page$  /news/ [R=301,L] 

프로필 페이지 http://www.domain_name.co.uk/blog-page/index.php?/archives/1541-title-of-the-blog.html

위의 요구

http://www.domain_name.co.uk/news/1541-title-of-the-blog

그러나 링크 '를?' URL 구조의 중간에 내 재 작성을 깨뜨리는 것으로 보입니다. 나는 QUERYSTRING에 관해 온라인으로 읽었지 만 URL에 전달 된 실제 매개 변수가 없으므로이 문제가 해결되지 않는다고 생각하지 않습니다.

아래 코드는 작동하지만 '/?/archives /'정보도 통과합니다.

RewriteRule ^blog-page/index.php(.*)$ /news/$1 [R=301,L] 

어떤 도움을 주시면 감사하겠습니다. 어떤 이유로 든 동일한 URL 구조를 사용하는 이전 사이트 빌드의 여러 다른 섹션이 있습니다.

답변

1

쿼리 문자열 일치에 대한 추가 규칙이 필요합니다. DOCUMENT_ROOT/.htaccess을 다음과 같이 입력하십시오.

RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^/archives/(.+?)\.html$ [NC] 
RewriteRule ^blog-page/index\.php$ /news/%1? [R=301,NC,L] 

RewriteRule ^blog-page$ /news/ [R=301,L,NC] 
+0

감사합니다. 완벽하게 일했습니다! 지금은 단지 그것을 스스로 이해해야합니다 :) –

+1

당신이 반갑습니다. http://askapache.com은 htaccess 자료를위한 훌륭한 자료입니다. – anubhava

관련 문제