Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I redesigned an old (static) website to WordPress CMS. Now that site is WordPress based with 'blog' as a page displaying all posts. On previous (static) version, they already had a separate WP blog inside /blog directory. I imported all old blog posts to our new WP setup but problem is with images. On old blog, images inside posts had source like http://www.example.com/blog/wp-content/uploads/../x.jpg But once all posts were imported to new site, these image paths didn't change in imported posts and now are all broken links.

I tried fixing this issue by creating an empty folder blog on root, with only wp-content/uploads folder in it so paths to old images keep working. But now my new blog page is not working. Instead of showing /blog posts, it shows contents of blog directory. This is because of .htaccess which knows that /blog is an existing directory which exists and doesn't pass request to index.php.

Now the only solution is to tell .htaccess to consider only those '/blog' directory requests which are image URLs and the file exists. And pass rest of requests to index.php.

Default .htaccess content looks like:

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

How do I achieve this?

Thanks.

share|improve this question

1 Answer 1

up vote 0 down vote accepted

This is not answering the exact question you posed, but as as far as I am concerned, your current attempt is the wrong approach to solve the problem of wrong image paths after moving anyway.

Rather than what you are attempting to do, either replace the image paths in the database, or redirect those.

While replacing/updating image paths can be done manually, there's (a minimum of) two excellent plugins that will do the job. Take a look at either

As for rewriting the paths, see the Redirection plugin. Also fairly simple to use.

share|improve this answer
    
Thanks. I did it by updating all database entries. This worked. –  aceph ali Apr 29 '13 at 18:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.