.htaccess WordPress永久链接不工作

sulc1iza  于 2022-12-13  发布在  WordPress
关注(0)|答案(5)|浏览(160)

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?

2eafrhcq

2eafrhcq1#

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:

<Directory />
    Options FollowSymLinks
    AllowOverride All
 </Directory>

You may also have to enable the AllowOverride directive in your DocumentRoot:

<Directory /var/www/html>
    # ... other directives...
    AllowOverride All
 </Directory>

You may also have to change the AllowOverride settings for the site. This is surely the case when using Mac OS X Server, but might be likewise with other systems. Usually you can find the site configuration files in /etc/httpd/sites/ 

If you don't want to set AllowOverride to all (as it is above) then your AllowOverride list must include the FileInfo directive. You must restart your Apache server for any httpd.config file changes to take effect. For more information on which overrides are allowed, read about Apache Core Features.
qv7cva1a

qv7cva1a2#

Wordpress permalink fix
1.open phpmyadmin.
2.find your wordpress database.
3.Look for wp_options table.
4.Check first two fields and update option_value with your correct wordpress location.
5.Reload permalink.

qjp7pelc

qjp7pelc3#

对于像我这样的人谁有问题的永久链接与修改重写启用,AllowOverride All在vhost和所有良好的指令在. htaccess。
我花了几个小时才发现我把AllowOverride All放在了http(:80)的vhost中,而不是https(:443)的vhost中。
希望这能为你保存一些时间。=)

wwwo4jvm

wwwo4jvm4#

WordPress permalink fix

  1. open phpMyAdmin.
  2. find your WordPress database.
  3. Look for wp_options table.
  4. Find permalink_structure set value to blank
  5. Suppress/comment modrewrite lines in your .htaccess if necessary Your WordPress is in plain permalink mode
    In case modrewrite is not active and interactive setup doesn't work.
tez616oj

tez616oj5#

All the answers forgets to mention that if you are under SSL and your httpd.conf say this:

`Include conf/extra/httpd-ssl.conf`

then into httpd-ssl.conf file
you have to change

`AllowOverride None`

into AllowOverride All
too!
Cheers

相关问题