4

I have a Wordpress website running on Lamp Server on Ubuntu Server 14.04. I just tried to use the option for Post Name permalinks, and now my pages no longer load up.

I turned on the mod_rewrite function of the Apache server, restarted it, but it still doesn't work.

Also, here's my .htaccess file:

# 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

Note that the content of /wordpress folder has been put directly inside /html Let's say the name of my website is mywebsite.com.

How can I make it work?

EDIT: Here is my /etc/apache2/sites-available/000-default.conf file

    <VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html


    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Sartheris Stormhammer
  • 2,534
  • 8
  • 37
  • 81
  • Are you saying that your WordPress installation is in the `wordpress` directory in your document root? i.e. you would access it via `mywebsite.com/wordpress/`? – Mike Rockétt Jun 07 '15 at 18:41
  • its in the root directory of the Apache – Sartheris Stormhammer Jun 07 '15 at 18:42
  • If it is in your document root, then it should be working just fine. Are you sure it says `/%postname%/` in your Permalink settings? – Mike Rockétt Jun 07 '15 at 18:44
  • And if you switch it back to date-based permalinks, does it work? If it does, then I'm assuming you are calling the wrong URI. If that is not the case, then please describe the actual problem, as in what error you are getting and is it from Apache or from WordPress? – Mike Rockétt Jun 07 '15 at 18:47
  • 1
    Right now I am getting just "Not found" when I click on some link other than the home page. Also, Default permalinks work fine, but the post-name ones which I want do not – Sartheris Stormhammer Jun 07 '15 at 18:48
  • I'm not a WordPress expert, but I do know that it is meant to work as expected. You should check your template to make sure it is using the correct URIs. Past that, I'm unable to help you... – Mike Rockétt Jun 07 '15 at 18:51

4 Answers4

12

I found a fix. So happy!

In short, the fix for me was to go into the WordPress admin dashboard, go to:

“Settings” > “Permalinks” > “Common settings”, and set the radio button to “Custom Structure”

, and paste into the text box:

/index.php/%year%/%monthnum%/%day%/%postname%/

, and click the Save button

Barshi
  • 191
  • 2
  • 6
5

For those running apache 2.4 and not finding "default" look in /etc/apache2/apache2.conf and edit

Directory

AllowOverride All

Directory


Directory /var/www/>

AllowOverride All

Directory

Mextro
  • 51
  • 1
  • 5
4

have you enabled the use of .htaccess like described here ? https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles

mmm
  • 1,070
  • 1
  • 7
  • 15
0
  1. edit .ht_access
  2. insert this line in IfModule mod_rewrite.c

RewriteRule ^(.*)$ index.php?_REQUEST=$1 [L]

IT work for me.

tonz
  • 1
  • 1