2012-12-07 3 views
1

최근에 클라이언트의 웹 사이트를 재구성했습니다. 그들은 Google이 일부 오래된 링크를 나열하고있는 것으로 나타났습니다. 우리는 이러한 링크를 홈페이지로 리디렉션하려고합니다..htaccess 리디렉션 301이 인수로 작동하지 않습니다.

http://www.joiningtech.com/index.html?GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA http://www.joiningtech.com/index.html?GAW+CAM2 &에 gclid = CMncjs-ehLQCFdKd4Aod52AAAQ

나는이 두 리디렉션은을 사용하여 제대로 작동하려면 얻을 수있는 몇 가지 방법을 시도했습니다. htaccess 파일.

방법 # 1

redirect 301 http://www.joiningtech.com/index.html?GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA http://www.joiningtech.com/ 
redirect 301 http://www.joiningtech.com/index.html?GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ http://www.joiningtech.com/ 

I에 유래 다른 장소에서 이러한 방법을 발견 2

RewriteCond %{QUERY_STRING} ^([^&]&)*GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA(&|$) 
RewriteRule ^/index\.php$ http://www.joiningtech.com/? [L,R=301] 
RewriteCond %{QUERY_STRING} ^([^&]&)*GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ(&|$) 
RewriteRule ^/index\.php$ http://www.joiningtech.com/? [L,R=301] 

방법 #. 나는 잘못된 것을 얻었고 어떤 도움을 주어도 될까요? 당신이 그들을 필요로하지 않을 때

덕분에, 크리스

+0

바보 같은 질문이지만 재 작성이 활성화되었는지 확인 했습니까? – Scott

답변

0

확인, 감사 카밀의 도움과 시행 착오, 나는 답을 발견했다. 이 사이트는 워드 프레스 사이트입니다. 나는 워드 프레스 코드를 재 작성하고 나중에 코드가 충돌했다 같은데요

# suExec for PHP 
Action application/x-pair-sphp /cgi-bin/php5.cgi 
AddType application/x-pair-sphp .php 
#Video MIME Types: 
AddType video/m4v .m4v 
AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /directory/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 

</IfModule> 
redirect 301 /pages/laser.html http://www.joiningtech.com/pages/welding.html 
redirect 301 /index_nosound.html http://www.joiningtech.com/ 
RewriteEngine On 
RewriteCond %{REQUEST_URI} =/index.html [NC] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA [OR] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ 
RewriteRule .* http://www.joiningtech.com/? [L,R=301] 

: htaccess로 파일은이 순서에 따라 다음 작업을했다. 그래서 WordPress 재 작성 코드를 새로운 리디렉션 아래로 재정렬했습니다.

# suExec for PHP 
Action application/x-pair-sphp /cgi-bin/php5.cgi 
AddType application/x-pair-sphp .php 
#Video MIME Types: 
AddType video/m4v .m4v 
AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

</IfModule> 
redirect 301 /pages/laser.html http://www.joiningtech.com/pages/welding.html 
redirect 301 /index_nosound.html http://www.joiningtech.com/ 
RewriteEngine On 
RewriteCond %{REQUEST_URI} =/index.html [NC] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA [OR] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ 
RewriteRule .* http://www.joiningtech.com/? [L,R=301] 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /directory/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 

이제 작동합니다. 나는 "RewriteEngine On"의 두 인스턴스를 갖는 것이 괜찮은지 여전히 알 필요가있다.

+0

'RewriteEngine On' 만 필요합니다 ... 두 번째는 쓸모 없지만 오류는 아닙니다. –

1

를 사용하여 사전 편찬 comparition, 그것은 정규 표현식보다 훨씬 선명합니다. 첫 번째 인수로 전체 URL을 지정할로 (Redirect 사용)

RewriteEngine On 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA [OR] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ 
RewriteRule ^index.html$ http://www.joiningtech.com/? [L,R=301] 

첫 번째 방법은 작동하지 않습니다하지만 URL경로 부분을 기대하고있다. 뿐만 아니라 작동합니다 다음은 mod_rewrite를 사용하여 수행하는 방법

redirect 301 /index.html?GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA http://www.joiningtech.com/ 
redirect 301 /index.html?GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ http://www.joiningtech.com/ 

세 번째 방법은 다음과 같습니다

RewriteEngine On 
RewriteCond %{REQUEST_URI} =/index.html [NC] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA [OR] 
RewriteCond %{QUERY_STRING} =GAW+CAM2&gclid=CMncjs-ehLQCFdKd4Aod52AAAQ 
RewriteRule .* http://www.joiningtech.com/? [L,R=301] 
+0

감사합니다. 카밀. 불행히도 이들 중 어느 것도 문제를 해결하지 못했습니다. 나는 원래의 질문에 제 2의 옵션을 포함시키는 것을 잊었습니다. 왜냐하면 그것도 시도했기 때문입니다. 사전 식 비교를 사용하여 첫 번째 방법을 사용했습니다. 불행히도, 링크가 여전히 GAW +를 찾고 그래서 인수는 스트립되지 않습니다 ... 당신은 다른 제안이 있습니까? – ChrisB

+0

@ChrisB "링크가 논쟁의 여지가 없다"는 것은 무엇을 의미합니까? 세 번째 방법 (업데이트 된 답변 참조)을 시도해 볼 수도 있지만 첫 번째와 두 번째 솔루션이 모두 작동하지 않아야하는 이유는 없습니다. –

+0

감사합니다. @ 카밀. 이 세 번째 방법은 여전히 ​​작동하지 않습니다. 매우 이상합니다. 내가 "링크가 논쟁을 해치지 않는다"는 것은 링크에 가려고 할 때 : http://www.joiningtech.com/index.html?GAW+CAM2&gclid=CNbT06iehLQCFQWe4AodejAAkA 대신 www.joiningtech로 해결한다는 것입니다. .com은 여전히 ​​전체 URL을 표시하므로 .com /. 뒤에 다른 모든 문자를 제거하지 않습니다. – ChrisB

관련 문제