Michael
Michael

Reputation: 61

.htaccess redirect for images from old folder to new folder

I have just moved from Drupal + Wordpress to a site completely built in WordPress.

Duly I have a set of images where the files no longer exist and need to try and keep all the images in the one folder (if possible). Duly I need to send requests for any gif|png|jpg that are for http://www.domain.com/blog/wp-content/uploads/ to http://www.domain.com/wp-content/uploads.

If anyone could help would be appreciated - my .htaccess aint what it once was. Thanks in advance

Upvotes: 6

Views: 13104

Answers (5)

anthony
anthony

Reputation: 7865

What I have hated about all the re-write rules and redirect options for .htaccess files is they all rely on hardcoding the path (URI) and/or server for the redirect.

The point of the ".htaccess" files it it should be for the current directory! It could be referenced in a number of different ways, installed on different servers in different locations. So trying it down to a specific location for a simple directory rename is illogical.

The solution is to somehow incorporate the current URI (regardless or where the ".htaccess" location) into the result...

This is my current solution for location independent ".htaccess" redirect for a renamed sub-directory, and even I admit it is not perfect... BUT IT WORKS...

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^OLDdir/.*$           %{REQUEST_URI}:::  [C]
RewriteRule ^(.*)/OLDdir/(.*):::  $1/NEWdir/$2       [R,L]

Upvotes: 0

user523736
user523736

Reputation: 549

If you google for "htaccess redirect", the top link is this:
http://www.htaccessredirect.net/

If you use the "301 Redirect Directory" section, you get this code:

//301 Redirect Entire Directory
RedirectMatch 301 /blog/wp-content/uploads/(.*) /wp-content/uploads/$1

As far as I know the target domain should be absolute, so the following might work:

//301 Redirect Entire Directory
RedirectMatch 301 /blog/wp-content/uploads/(.*) http://www.domain.com/wp-content/uploads/$1

Upvotes: 11

Panama Jack
Panama Jack

Reputation: 24478

You could try and put this

RewriteEngine ON
RewriteRule ^/blog/wp-content/(.*)$ http://newdomain.com/wp-content/$1 [R=301,L]

Upvotes: 0

Faraona
Faraona

Reputation: 1700

Try this

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^http://www.domain.com/blog/wp-content/uploads [NC]

RewriteRule .* http://www.domain.com/wp-content/uploads [NC,L] 

Upvotes: 0

anubhava
anubhava

Reputation: 785971

Please try this rule in your .htaccess:

RewriteEngine On
RewriteRule ^/blog/wp-content/uploads/(.+)\.(png|gif|jpg)$ wp-content/uploads/$1.$2 [QSA,L]

Upvotes: 0

Related Questions