WordPress网站后台更改固定链接出现404解决方法(3种web服务器下WordPress伪静态规则)

为什么wordpress 做的网站会出现404

在 WordPress 后台设置了自定义固定链接后,前台页面无法显示,提示404 not found错误页面,但是原来默认的动态路径还是可以打开,这是为什么?

一般有两种原因,第一种是空间不支持伪静态;第二种是空间不支持网址出行中文。

我们一个问题一个问题排查,首先遇到第一种情况,我们看查看我们购买的空间是否支持伪静态,也可以咨询空间服务商,确认支持的话,可能就是网站没有对应的伪静态规则,我们添加上伪静态规则就可以。
以下是3种常见web环境的伪静态规则

Apache环境的wordpress伪静态规则

# 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

保存到.htacess文件,上传到网站根目录即可

Nginx环境的wordpress伪静态规则

第1种规则:

location /
 {
 try_files $uri $uri/ /index.php?$args; 
}
 rewrite /wp-admin$ $scheme://$host$uri/ permanent;  

第2种规则:

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
if (!-e $request_filename){
	rewrite ^.+?(/wp-.*) $1 last;
	rewrite ^.+?(/.*\.php)$ $1 last;
	rewrite ^ /index.php last;
}

两者人选一个,就可以。

IIS环境中wordpress的伪静态规则

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
        <rules>
         <rule name="OrgPage" stopProcessing="true">
         <match url="^(.*)$" />
         <conditions logicalGrouping="MatchAll">
         <add input="{HTTP_HOST}" pattern="^(.*)$" />
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
         </conditions>
         <action type="Rewrite" url="index.php/{R:1}" />
         </rule>
         </rules>
    </rewrite>
    </system.webServer>
</configuration>

如果添加上伪静态规则访问还出现404,可能是你的网址命名是中文了,空间不支持中文的话改成字母或数字就可以,图片的命名也要改成字母或数字才能正常访问。

上一篇 天干地支纪年法核算方法
下一篇 设置笔记本合盖熄屏/自动熄屏/手动熄屏

管理员

6篇 本周更新
7篇 本月更新
1个 用户数量