My WordPress site is returning a 404 not found error on any page apart from the homepage and /wp-admin. I have no absolutely no idea why this is. My Permalinks are set up to use /year/month/date/post-title/ (e.g www.domain.com/2014/04/28/sample-post/). When I change the permalinks to the default (?p=123) it works fine, but not on any of the other ones. Here is the contents of the .htaccess file:

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

I have also installed the plugin 'Debug This', which provides details on the Rewrite Rules. However because it's a pretty big list and unformatted it would look quite bad, I've put it in a jsfiddle, here: http://jsfiddle.net/k8PHD/embedded/result/

I think that's all the details I have, I've disabled all plugins and stuff like that. Thanks for any help.

EDIT: ok so I've since discovered a bit more info. I also forgot to say that the host for the site is Heroku (I'm building for a client and for some reason he's insisting I use Heroku, which is bad choice for WP I know but I can't persuade him otherwise so that's life). I recently installed heroku-buildpack-php-tyler, which also installed Nginx. So I'm assuming that's whats broken my Permalinks. I then found this post, which seems to be about the issue I'm having, which links to this page on the Nginx Documentation. Problem is I've never used Nginx before so I don't know where to put all the code it's got in the first section entitled Abridged Basic Setup. Can someone help me out? Thank you :)

1 Answer 1

  1. Your server does not have mod_rewrite enabled
  2. Or you do not have AllowOverride set correctly to allow your .htaccess file to operate correctly. You will need AllowOverride set to at least FileInfo.

I'd bet on the latter, as mod_rewrite is pretty ubiquitous.

Based on your edit, the issue is that Nginx doesn't use .htaccess files. My experience with Nginx is limited but rewrite rules are written into server configuration files, I believe. The Codex has a page on the topic.

  • thanks for the input, I've added more info to the post I've since found out which hopefully will be more useful :)
    – Tom Oakley
    Apr 29, 2014 at 17:18

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.