For a long time I served my blog from http://www.murrayc.com/blog/, with the wordpress installation in /home/murrayc/murrayc.com/blog/. Now I've moved it to http://www.murrayc.com/, without moving the wordpress installation on the filesystem.

I did that by:

  • Changing the "Site Address (URL)", in Settings->General, to http://www.murrayc.com. I kept the "WordPress Address (URL)" as http://www.murrayc.com/blog

  • Adding a RedirectRule in my top-level .htaccess at /home/murrayc/murrayc.com/, so that, for instance, permalink/something could be used instead of blog/permalink/something. The older blog/permalinks still seem to work too.

However, some old links are not working. http://www.murrayc.com/blog/ takes you to a page that happens to mention blogs, presumably via Wordpress's attempt to guess what you want. Likewise, http://www.murrayc.com/blog/feed takes you to the comments feed for one old blog post.

With the rules added by Wordpress (after changing the "Site Address URL", I think), this is my .htaccess file:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/temp
RewriteRule ^(.*)$ blog/$1 [L]

# 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]
# END WordPress

I'm using Wordpress 3.5.1, the latest release, via Dreamhost's 1-click install, which updates automatically.

This feels like a bug in Wordpress. Maybe it's misinterpreting URLs that it gets at some point that contain blog/blog.

3 Answers 3


You can skip the first Part of your .htaccess, just use the standard WordPress configuration.

The main problem is, you need to create a new index.php in the root directory of your webspace, containing the following:

 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 * @package WordPress

 * Tells WordPress to load the WordPress theme and output it.
 * @var bool
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */

You also need to create a .htaccess file in your root directory, containing the standard WordPress .htaccess, and then everything should work fine.

  • Thanks. I've tried that, removing everything from my top-level .htaccess other than the part added by Wordpress, but the problems with blog/ and blog/feed/ remain.
    – murrayc
    Commented Jan 31, 2013 at 9:52
  • Did you alter your index.php in the TopLevel? the important part is the last line, where you define from which directory wp-blog-header.php is included.
    – fischi
    Commented Jan 31, 2013 at 10:00
  • No, I used an index.php file with exactly the content that you suggested. My wordpress is at blog/, so it seems OK. It's working otherwise, though I don't notice any difference to how it was with just the .htaccess.
    – murrayc
    Commented Jan 31, 2013 at 10:02
  • However, I do notice that my murrayc.com/feed is now as broken as murrayc.com/blog/feed , so I'll have to change things back if I don't figure this out. I need at least one working feed URL.
    – murrayc
    Commented Jan 31, 2013 at 10:05
  • Hm, the Link http://www.murrayc.com/feed/ seems to work for your setup. As your Images are delivered from the blog subdirectory, I suppose you got the solution?
    – fischi
    Commented Jan 31, 2013 at 12:02

You might want to use 301 redirects, as now there is no blog directory, but it is assumed to be as root. You have to inform server that these are old urls and should be matched to new one's. You can do this using .htaccess as code below,

//301 Redirect Old File
Redirect 301 http://www.murrayc.com/blog http://www.murrayc.com/
Redirect 301 http://www.murrayc.com/blog/feed http://www.murrayc.com/feed

also there are plugins for these.

  • Thanks, but that doesn't seem to fix the problem. I've tried placing that (and with lines for the URLs ending in /) at the start of the .htaccess file. I've tried it with wget, so I doubt that any cache is involved.
    – murrayc
    Commented Feb 5, 2013 at 10:23

Set up .htaccess correctly, it's all about it. We had such a task on the site https://alexsend.com/blog

  • 1
    Well yes this does look like an htaccess problem but just telling OP to do it correctly isn't that helpful. What specifically is wrong with the htaccess they posted? How would you correct it?
    – Rup
    Commented Feb 16 at 0:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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