Thrive Knowledge Base

How to resolve WordPress 404 error after permalink change

It can happen that after you change the permalink of a page/post, instead of being redirected to the new page, you are redirected to a non-existing one, getting a “404 Not Found” error.

The reason why this issue appears can be that you don’t have writing access/permission for the .htaccess file.
Thus, even if you create the page with the new link http://yourSite/yourNewLink, the “yourNewLink” part does not exist on the server, just in WordPress.

How to resolve it

The first thing to do is to check if your .htaccess file is writable. You can do this by going to your WordPress admin dashboard, and then, clicking on “Permalinks” from the “Settings” section of the menu.
perma

If your .htaccess file is not writable, then, you will see an error message under the “Save Changes” button in the “Permalinks” page.

The error message will look something like this:

not-writeable-1

Note: In case the error message doesn’t appear then, click on the “Save Changes” button again to make sure that the permalinks were updated.

If the error message appears and you are sure that the .htaccess isn’t writable, the most common way to resolve this is to connect via FTP to your site and change the properties, the permissions, of the file.

Here you can find details about how you can do this.

After you have successfully changed the writing permissions, go back to the “Permalinks” section in your WordPress dashboard and cilck on “Save Changes” again. This time the redirect and the new link should work properly.

In case this still did not solve the issue, then, you should contact your hosting company and ask them to make the .htaccess writable.

Tip for more tech-savvy users:

If you have previous experience using FTP, you can also try to copy the following part from the above mentioned error message into your .htaccess file, replacing the respective part that is currently there:

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

You can find your .htaccess file in the root folder of you WordPress installation.

Note: Please keep in mind that your .htaccess file can contain other parts as well, depending on the various plugins and security settings that your site has. Thus, please make sure you only replace the above mentioned section.

If you would like to find out how various elements of Thrive Architect work, please click here.

Hopefully, this article was useful for you. If so, please give us a smile below :)

>