WordPress Post – On Post – 404 Page Not Found

I was helping a friend with a website. Every thing seem to work fine. I set up some demo content manually.

But today some thing wired happened. When we try to do a post it returns to a 404 not found page. The only thing we recorded doing are deleting posts and trying to add new posts.

Read More

Scenario: Post a Post

  1. Login
  2. Write a post
  3. ‘Publish’ -> 404 page @ route -> wp-admin/post.php

Scenario: Upload media

  1. Login
  2. Media -> new
  3. Drag/drop image
  4. HTTP Error (in red)

I tried:

  1. Disabling plugins
  2. Changing the theme
  3. Adding the following to .htaccess

BEGIN 404 Fix

SecFilterEngine Off SecFilterScanPOST Off

END 404 Fix

But it didn’t fix.

Just noticed, the same problem persists with another blog hosted in the same account. May be a host issue?

Updates:
Old fashion upload : wp-admin/media-new.php (OK)
Old fashion upload (POST) : wp-admin/media-new.php => 404

Page publish: wp-admin/post.php (GET => OK, POST => not ok – 404)

I think it is filtering out any attempt to post. But the odd thing is, any post gets saved ( as draft ).

Related posts

1 comment

  1. SecFilterEngine Off SecFilterScanPOST Off

    This rules apply to Apache 1.x, but if your host uses Apache 2.x. then you don’t need it.

    Make sure you have permissions to upload your file to server.

    Also, make sure

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

    If you are testing site in local & uploading it to server then it might be a case that you have uploaded incorrect .htaccess to server. And your wordpress installation doesn’t have sufficient access rights to change your .htaccess.

    Here’s sample of local .htaccess file.

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

    Remove /site incase you are uploading site to host with http://www.site.com address.
    Let me know incase it doesn’t help.

Comments are closed.