I have migrated WordPress website to new server (Ubuntu) which is working fine.
But Permalinks settings are not working. All other pages returning me 404 error.
I already enabled mod_rewrite
When I use custom structure and type /%postname% it shows Permalink structure updated. and while visiting the page it returns be 404 error.
I am using /var/www/html/wordpress Installation directory/ as a folder and I have change /etc/apache2/sites-available/000-defaul-config to
DocumentRoot /var/www/html/wordpress Installation directory
and below in 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
Any idea what is wrong?
Try https://codex.wordpress.org/Using_Permalinks#Fixing_Other_Issues
AllowOverride Not Enabled
Your server may not have the AllowOverride directive enabled. If the AllowOverride directive is set to None in your Apache httpd.config file, then .htaccess files are completely ignored. In this case, the server will not even attempt to read .htaccess files in the filesystem. When this directive is set to All, then any directive which has the .htaccess Context is allowed in .htaccess files. Example of enabled AllowOverride directive in httpd.config:
You may also have to enable the AllowOverride directive in your DocumentRoot:
WordPress permalink fix
For people like me who had problems with permalinks with mod-rewrite enabled,
AllowOverride All
in the vhost and all good instuctions in the .htaccess.I spent hours to find out that i put
AllowOverride All
in the vhost for the http ( :80 ) but not in the vhost for the https ( :443 ).Hope this will save some time to you. =)
WordPress permalink fix
open phpMyAdmin.
find your WordPress database.
Look for
wp_options
table.Find
permalink_structure
set value to blankSuppress/comment
modrewrite
lines in your.htaccess
if necessaryYour WordPress is in plain permalink mode
In case
modrewrite
is not active and interactive setup doesn’t work.All the answers forgets to mention that if you are under SSL and your httpd.conf say this:
then into httpd-ssl.conf file
you have to change
into
AllowOverride All
too!
Cheers