5 Simple Steps to Configure WordPress To Use Permalinks On An Ubuntu Server
Having clean URLs for you wordpress website helps your visitors navigate your site easier as well as improve Search Engine Optimization (SEO). In this tutorial we will look at how to set this up on your WordPress site running on an Ubuntu server.
Here is an example. You can see the page URL is /?page_id=4
After making some changes to the permalink settings the URL are easier to remember and more SEO friendly.
To enable permilinks we need to have an .htaccess file. For the .htaccess file to work we need to enable AllowOverride in the Apache config and set the correct permissions on the .htaccess file.
1.) Apache Configuration:
Let’s start by enabling AllowOverride in the default virtual site file. This default file is located at /etc/apache2/sites-available/default. To keep things simple we will use the nano text editor. If you preffer to use Vim or Emacs feel free to do so.
sudo nano /etc/sites-available/default
Enter your password
We need to change AllowOverride None to AllowOverride All in two places.
Once you made your changes, hit CTRL + X to exit nano
Hit “Y” to save your changes
Hit Enter to overwrite the file
Next we will need to enable Apache Rewrite module.
sudo a2enmod rewrite
2.) Create .htaccess File:
Ok it is now time to create the .htaccess file. We will use the touch commnad. This allows us to create a blank file quickly.
sudo touch /var/www/.httaccess
3.) Setting .htaccess File Permissions:
We will now need to change the owner of the .htaccess file to www-data, the user that apache runs under as default. We will also need to change the permissions on the file to 664.
sudo chown www-data:www-data /var/www/.httaccess
Now set the permissions on the file to 664
sudo chmod 664 /var/www/.httaccess
4.) Restart Apache Web Server:
To make the changes take effect we will now need to restart the Apache web service.
sudo /etc/init.d/apache2 restart
You should see OK if it started correct
5.) Setting Up Permalinks Settings In WordPress:
Login to your Admin interface on your wordpress site. Example URL: http://YourSite.com/wp-admin
Click Settings > Permalinks
You can see by default that it uses a query parameter. We will want to change this to something human readable like postname. Keep in mind you can't have more then one post or page with the same name. In this example we will also include the year to help prevent duplicate names.
For some common permilink structure tags take a look at http://codex.wordpress.org/Using_Permalinks
Here is my example of setting the default URL's to be /Year/PostName so for http://mywebsite.com/2012/about
Save your settings and test by navigating to some pages on your site.
If you enjoyed this post, please share it on your favorite social network by clicking on the “Share / Save” bar below.
Other Useful Articles:
How to Install WordPress on Ubuntu: http://mixeduperic.com/ubuntu/simple-steps-to-installing-and-configuring-a-website-using-wordpress-and-ubuntu.html
How to Start and Stop Apache and MySQL commands: http://mixeduperic.com/ubuntu/how-to-start-stop-and-restart-apache-and-mysql-on-ubuntu.html