Issue with using .htaccess to redirect feedburner feed

I am using year/month/post-name permalinks, and also using the download-monitor plugin to handle file downloads. I added rewrite rules to the top of the .htaccess file following the instructions at perishable press.

I just did this same thing at another blog and it worked just fine. The only differences are that blog did not use the download-monitor and the install was in the root of the domain, instead of a /blog/ sub-directory.

Read More

If I comment out this line:

RewriteCond %{REQUEST_URI} ^/?feed.* [NC]

It works. I am simply curious as to why would this line be in the instructions if it doesn’t work? Does it have something to do with the sub-directory?

.htaccess:

# temp redirect all wordpress feeds to feedburner
# from http://perishablepress.com/press/2008/03/25/redirect-wordpress-feeds-to-feedburner-via-htaccess-redux/
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /blog/
RewriteCond %{REQUEST_URI} ^/?feed.* [NC]
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC] 
RewriteRule ^feed/?.*$ http://feeds.feedburner.com/mysite [L,NC,R=302]
</IfModule>

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /blog/
RewriteRule ^download/([^/]+)$ http://www.mysite.com/blog/wp-content/plugins/download-monitor/download.php?id=$1 [L]
</IfModule>

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

# END WordPress

Related posts

Leave a Reply

1 comment

  1. Try this. This format works for me.
    You don’t have to keep repeating IfModule, RewriteEngine, RewriteBase.

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /blog/
    RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC] 
    RewriteRule ^feed/?.*$ http://feeds.feedburner.com/mysite [L,NC,R=302]
    
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /blog/index.php [L]
    
    RewriteRule ^download/([^/]+)$ http://www.mysite.com/blog/wp-content/plugins/download-monitor/download.php?id=$1 [L]
    </IfModule>
    # END WordPress
    

    Here is a nice how-to for htaccess:
    http://codeigniter.com/wiki/mod_rewrite/

    And if you continue to have trouble, perhaps consider using a plugin:
    http://wordpress.org/extend/plugins/tentbloggers-feedburner-rss-redirect-plugin/screenshots/