2012-01-05 6 views
2

특정 URL을 재 작성하는 데 문제가 있습니다.URL 꼬임으로 다시 쓰기

나는 일부 사이트를 움직이고 있는데, 구글은 여전히 ​​새로운 페이지로 리다이렉트하고자하는 이전 URL을 크롤링하고있다. 쿼리 문자열에서 쿼리 문자열 스트립을 수행하고 리디렉션하기 전에 생각했습니다. 먼저 mod_rewrite에서이 작업을 수행 할 수 있는지 궁금합니다. 나는 현재 내 .htaccess에서 이것을 가지고 있지만 작동하지 않습니다.

RewriteRule ^news.php?action=view&title=(.*) /blog.php?article_keyword=$1 [L] 

환경은 아파치

리눅스입니다
+1

당신은 이런 식으로 할 수는 -'RewriteRule' 직접 쿼리 문자열 작동하지 않습니다 - 단지 RewriteCond' '의 도움으로. – LazyOne

답변

0

사용하여 htaccess로이 코드 :

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteCond %{QUERY_STRING} ^action=view&title=(.*)$ [NC] 
RewriteRule ^news\.php/?$ /blog.php?article_keyword=%1 [L,R=301,NC] 
+0

감사합니다. CHARM처럼 작동했습니다. – Kenny

0

당신은 이런 식으로 할 수 없다 - RewriteRule 직접 쿼리 문자열과 함께 작동하지 않습니다 - 단지 RewriteCond의 도움으로 : 나는 '

RewriteCond %{QUERY_STRING} ^action=view&title=(.*) 
RewriteRule ^news.php$ /blog.php?article_keyword=%1 [R=301,L] 

영원한 리디렉션을 발행하기 위해 R=301 플래그를 추가 했으므로 Google은 이전 URL이 더 이상 사용되지 않고 새로운 URL을 사용해야 함을 알게됩니다. 리디렉션이 필요하지 않은 경우 rmove를 실행하고 L 플래그 만 남겨 둡니다.