WordPress Permalink structure


Recently (last night) moved a WordPress site from an IIS host to DreamHost. On the old site, the structure was:

That doesn’t seem to work on my DreamHost setup. I get the “No input file specified” error.

Removing the “/index.php” from it (leaving “/%year%/%monthnum%/%postname%/”) seems to clear it up, except for one small detail.

Several sites have links to various posts on my site. Because “index.php” as part of the Permalink causes problems, that means there are, as of this moment, as many as 13,892 broken links out there, according to Technorati (http://www.technorati.com/search/www.basilsblog.net/)

So, is it possible to modify settings in some way so that using “index.php” in the structure works? Or is there another method that can be used to redirect broken links to the correct link?

Thanks in advance!


There are almost certainly some mod_rewrite rules in your .htaccess file that are creating the non-crufty URLs. All you need to do is make additional rules that allow you to access the pages using either method. One of the other posters will know more about writing the rules than I would, though.

Simon Jessey
Keystone Websites | si-blog


As Simon says, WordPress has generated a bunch of RewriteRules in your .htaccess file. You need to add yet another rule to make your old paths work.

Insert the following as the first RewriteRule (but after RewriteEngine On, RewriteBase, etc.)

RewriteRule index.php/(.*) /$1 [R=301]This should make your old URLs work.

If you want to redirect the old URLs instead, you can use the following:

[color=#000000]DreamHost Promo Code[/color]: [color=#CC0000]Save $50[/color] with the promo code DREAMTEAM


I’m not positive, but this also might address your problem, if you need it:


I was looking at their support area for something else, and this came up in my search, and seemed to address your issue. :slight_smile:



RewriteRule index.php/(.*) /$1 [R=301]

did exactly what I wanted it to do!

Thank you! You will get a post thanking you!