• Resolved phileplanet

    (@phileplanet)


    I’ve searched the site but I can’t find a clear answer to this.

    What is the proper way to edit the WP .htaccess file without messing up WP? Meaning do I edit inside “# BEGIN WordPress” & “# END WordPress”, after, before…

    I basically want to add mod_rewrite rules to 301 redirect pages from my old site to posts in WP. I’ve tried three plugins but they don’t seem to work well.

Viewing 11 replies - 1 through 11 (of 11 total)
  • I think you can add your stuff either above the # BEGIN WordPress or below # END WordPress. Don’t leave the .htaccess writeable once you’ve edited though!

    Thread Starter phileplanet

    (@phileplanet)

    Okay that doesn’t mess up WP, which is good, but my redirects don’t seem to do anything.

    Here is the htaccess:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /area51blog/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /area51blog/index.php [L]
    </IfModule>

    # END WordPress

    RewriteRule ^sites.php$ /links/ [R=301]

    Is there something wrong?

    You need to add it above the WordPress rules because WordPress will hijack pretty much everything that isn’t a real folder or file or whatnot. 😉

    Ah, didn’t realize that. Thanks for that info, Viper!

    I believe these three lines say that if it isn’t a real file or directory, then give the URL to WordPress’ index.php file:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /area51blog/index.php [L]

    So if you want to avoid that, you gotta handle it before it gets given to WordPress. 🙂

    Don’t leave the .htaccess writeable once you’ve edited though!

    For security or so that WordPress won’t overwrite it? If it’s the latter, then there’s no need to worry. That’s the whole point of the # BEGIN WordPress and # END WordPress. When WordPress regenerates it’s rules, it only replaces the stuff inbetween those two lines. So as long as your custom stuff is outside of them, they won’t be touched. 😉

    For security….

    Thread Starter phileplanet

    (@phileplanet)

    Sorry but it’s still having no effect.
    Here’s the new .htaccess:
    RewriteEngine on
    RewriteRule ^links.php$ /links/ [R=301]

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

    # END WordPress

    RewriteRule ^links.php?$ /links/ [QSA,L]

    Thread Starter phileplanet

    (@phileplanet)

    Sorry Viper007Bond but I wanted it to redirect links.php to /links/, not rewrite.

    I meant that I was using mod_rewrite to redirect since most plugins didn’t really work well for me.

    Well I’m a mod_rewrite idiot, so I usually just use the full URL instead then:

    RewriteRule ^links.php?$ http://yoursite.com/links/ [QSA,L]

    Thread Starter phileplanet

    (@phileplanet)

    Okay I haven’t found an htaccess solution to this so what I am going to do is include a PHP script in the 404 template.

    The script basically sees takes the URL of the 404, and if it matches a location in my redirects, it goes to the new location.

    I hope to make this a plugin with a user interface so that others can benefit from it.

    Thanks for your help.

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Redirection/Modifying htaccess’ is closed to new replies.