2013-10-12 2 views
0

오래된 Wordpress 이미지 플러그인으로 4000 개 이상의 404 오류가 발생했습니다.배치 301 htaccess를 사용하여 동적 URL에서 정적 페이지로 리디렉션

404 오류는 다음과 같이 제공 오래된의 URL :

이 문제를 해결하기 위해, 나는 배치 (301)는 원본 이미지 파일을 향해 가리 된 첨부 파일 링크 URL을 수천 리디렉션하고 싶습니다

http://www.hongkonghustle.com/?pagename=album&?pp_album=main&pp_cat=default&pp_image=zombie_boy_tattoo_lady_gaga_rick_genest.jpg

파일이 실제로 존재하는 나는 WP - 콘텐츠/사진 디렉토리에 각각의 리디렉션 싶습니다

http://www.hongkonghustle.com/wp-content/photos/zombie_boy_tattoo_lady_gaga_rick_genest.jpg

내가 읽은 것부터, 나는 htaccess 파일을 변경하고 {QUERY_STRING}을 (를) 사용하여 RewriteCond를 추가해야한다고 생각하지만 정확히 어떻게 알지는 못합니다.

또한 현재 htaccess와 관련된 변경 사항을 어디에 두어야합니까?

나의 현재 htaccess로 파일은 다음을 포함한다 :

Options +Indexes 
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^hongkonghustle\.com 
RewriteRule ^(.*)$ http://www.hongkonghustle.com/$1 [R=permanent,L] 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://www.hongkonghustle.com/$1/ [L,R=301] 

RewriteEngine On 
RewriteBase/
<Files wp-config.php> 
Deny from all 
</Files> 

<Files wp-config.php> 
Deny from all 
</Files> 
Options +Indexes 
IndexOptions -FancyIndexing 

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

# END WordPress 

다시 한번 감사 Anubhava을! 아주 가까이 다가 가고 있어요!

는 지금은/WP - 콘텐츠/사진/디렉토리로 이동하지만, URL은 여전히 ​​올바르지 않습니다?

hongkonghustle.com/wp-content/photos/ &/페이지 이름 = 앨범 & % 253fpp_album = 주 & pp_cat = 기본 & pp_image = zombie_boy_tattoo_lady_gaga_rick_genest.jpg 우리는 할 최종 URL이 필요

:

hongkonghustle.com/wp-content/photos/zombie_boy_tattoo_lady_gaga_rick_genest.jpg

그래서, hongkonghustle.com/wp-content/photos/IMAGE_FILENAME.JPG

나는 거의 풀린 것 같아! 이 작업을 수행하는 방법에 대한 아이디어가 있으면 저를 업데이트하십시오. 진심으로 감사드립니다!

답변

1

나는 301 htaccess로이 같은 리디렉션하고 결국 :

Options +Indexes 
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{QUERY_STRING} ^pagename=album&\??pp_album=main&pp_cat=default&pp_image=(.*)$ 
RewriteRule .* /wp-content/photos/%1? [L,R=301] 

RewriteCond %{HTTP_HOST} ^hongkonghustle\.com 
RewriteRule ^(.*)$ http://www.hongkonghustle.com/$1 [R=permanent,L] 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://www.hongkonghustle.com/$1/ [L,R=301] 

RewriteEngine On 
RewriteBase/
<Files wp-config.php> 
Deny from all 
</Files> 

<Files wp-config.php> 
Deny from all 
</Files> 
Options +Indexes 
IndexOptions -FancyIndexing 


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

# END WordPress 
0
이에 코드를 변경

:

Options +Indexes +FollowSymLinks -MultiViews 

RewriteEngine on 
RewriteBase/

RewriteCond %{QUERY_STRING} (^|&)pp_image=([^&]+) [NC] 
RewriteRule ^$ /wp-content/photos/%1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^hongkonghustle\.com$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule^%{REQUEST_URI}/ [L,R=301] 

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

<Files wp-config.php> 
Deny from all 
</Files> 

IndexOptions -FancyIndexing 
+0

Pls는 코멘트, 그 읽을 수없는 코드를 넣지 마십시오. 수정하여 질문에 추가하십시오. – anubhava

+0

감사! 죄송 해요! 그럴거야. –

+0

안녕하세요, Anubhava, 나는 당신에게 불완전한 정보를주었습니다. 나는 원래 내 htaccess 파일에서 #BEGIN Wordpress의 모든 것을 버렸습니다. 내가 언급 한 htaccess를 추가하려고했지만 내부 서버 오류가 발생했습니다. 이것은 아마도 내가 제공 한 정보가 불완전하기 때문일 것입니다. 귀하의 의견을 다시 한번 감사드립니다! 대단히 감사합니다. –

관련 문제