Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

wordpress apache permalinks not working (404 error)

I've install on my apache2 server wordpress site but all permalinks doesn't work (404 not found) my .htaccess was generated by wp

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

# END WordPress

My conf file for this site:

<Directory /home/sergey/siteName>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

anything from those answers does not help me

Thanks.

UPD:

Thanks to Justin Iurman's comment. Setting AllowOverride All in my conf solve the problem :)

like image 652
Sergey Cherepanov Avatar asked Apr 30 '14 12:04

Sergey Cherepanov


People also ask

Why are my permalinks not working in WordPress?

You can fix broken permalinks in WordPress by resetting the permalink settings, replacing . htaccess file with default code, and sorting all conflicting plugins. The broken permalink issue, or the “404 error,” is one of the most common issues on a WordPress site.

How do I fix error 404 in Apache?

Tutorial Apache - Redirect the error 404 using HTACCESS Create an HTACCESS file on the website directory. Add the following lines to this configuration file. Configure the correct file permission. Restart the Apache service.


1 Answers

How to get WordPress permalinks / pretty links to work in Ubuntu 10.10 with Apache2:

By the way, this should be the same in Ubuntu 10.04 as well, but I haven't actually tested it there as well.

  1. Manually create a ".htaccess" file and save it in your main WordPress directory. (This is the one with the wp-admin, wp-includes, and wp-content folders.)

  2. Go to the Ubuntu terminal and type:

sudo chown -v :www-data "/enterYourFilePathHere/.htaccess"

You should see a line printed saying that the (group) file ownership has been changed to www-data (Apache2).

  1. Give Apache2 write access to the file:

sudo chmod -v 664 "/enterYourFilePathHere/.htaccess"

You should see a line printed saying that the mode of the file has been retained.

  1. Next, we have to allow WordPress to write to the .htaccess file by enabling mod_write in the Apache2 server. Type the following in the terminal:

sudo a2enmod rewrite

You should see a line printed saying that it is enabling mod rewrite and reminding you to restart the web server

  1. So let's do that. Restart the web server, Apache2, for the changes to take effect by typing:

sudo /etc/init.d/apache2 restart

We are all done with the command line prompt; you can close the command line window now.

  1. Go into your WordPress admin panel (i.e. http://yourDomain/wp-admin). Go to the Settings --> Permalinks and select the permalink format of your choice. Hit the "Save Changes" button.

  2. DONE! Go to your site and check any page (other than your homepage) to ascertain that everything is working as expected.

Hope this helps someone.

like image 151
Nmk Avatar answered Sep 24 '22 18:09

Nmk