I've been searching for hours but haven't found anything that seems to be able to solves this issue.
Here's the scenario:
I'm making a wp theme based on the "Twenty Eleven" theme. Everything went fine til I decided to change the urls to permalinks. The only page being displayed is the static page that I have defined earlier.
I have set up the htacces file. In fact, WP did it automatically. Everything works if I switch back to the default setting, but, for SEO, I would rather use the permalinks option.
Here is my htaccess file (it is on my WP installation folder):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysite/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mysite/index.php [L]
</IfModule>
# END WordPress
I have seen this post wordpress .htaccess with permalinks but nothing there could help me. Any help would be very nice.
UPDATE : Things I have tried already:
- Delete pages and create again.
- Access the permalink field on wp_options (db) and setting the value to blank and set the permalink option in the admin again.
- I´m running it on windows 7 through an apache2 installation of Zend Server.
- I thought it was a problem related to my localhost environment, so I put the site online. No luck at all. I'm assuming that wordpress can´t change permalinks to a more friendly url type when you set a static front page. What a shame.
For those using apache. You will need to
- Ensure you have .htaccess in root path of the site you are hosting. Example /var/www
- Update the /etc/apache2/sites-available/default
From
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
To
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Hope this helps someone
I don't know if you have found the solution to it, but I solved this problem by simply turning on LoadModule rewrite_module modules/mod_rewrite.so in httpd.conf file.
Also see Permalinks on WordPress (Amazon EC2)
I had the same problem, but the author in the above link suggested to do three things (it worked for me!):
Go to /etc/httpd/conf
and edit httpd.conf
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Change also AllowOverride if it is set to None
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
I you haven’t created it yet, place in the root directory of your wordpress
installation a .htaccess file with the following contents:
# 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
There are two 'Directory' sections in the httpd.conf file.
One is for root folder and another for htdocs folder.
You must edit both fields to make WordPress pages work again.
Hope it helps.
This worked for me like @Skillachie wrote BUT be also sure to include those settings in the 000-default-SSL.conf file if you use SSL!
<Directory /var/www/PATH>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>