wordpress教程

WordPress固定链接404的解决办法

我的站长站 2019-05-07 人阅读

一般的大型网站系统,都依赖伪静态。如果服务器的伪静态没有配置好,访问部分链接就会出现 404 的情况。

在 WordPress 则具体表现为后台“固定链接”选项设置失效。

mkBlog主题的说说、搜索以及外链 GO 跳转就采用了高大上的伪静态的形式而无需新建页面(其它的主题一般都需要新建页面,忒麻烦!),因此如果使用 mkBlog 主题,也必须配置好伪静态。

下面就提供各种 web 环境下的 WordPress 伪静态规则设置教程。

Apache、Kangle伪静态

下载 Apache -Kangle WordPress 伪静态配置文件,解压后将里面的 .htaccess 上传至网站根目录,然后在 WordPress 后台>设置>固定链接>拉到最下面点击“保存更改”即可。

Nginx伪静态

打开nginx.conf或者某个站点的配置环境,比如 mkblog.cn.conf(不同的网站配置不一样),在server { }大括号里面添加下面的代码:

location / {  
index index.html index.php;   
if (-f $request_filename/index.html){   
rewrite (.*) $1/index.html break;   
}   
if (-f $request_filename/index.php){   
rewrite (.*) $1/index.php;   
}   
if (!-f $request_filename){   
rewrite (.*) /index.php;   
}   
}   
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

然后在 WordPress 后台>设置>固定链接>拉到最下面点击“保存更改”即可。

IIS伪静态

这里强烈不推荐使用 Windows+IIS 建站,因为坑太多!

IIS 的版本不同,伪静态的设置方式也不一样。

如果你的站点根目录有 web.config 文件,则打开 web.config,在 system.webServer 里加入如下代码:

<rewrite>  
<rules>  
<rule name="WordPress" patternSyntax="Wildcard">  
<match url="*"/>  
<conditions>  
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>  
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>  
</conditions>  
<action type="Rewrite" url="index.php"/>  
</rule>  
</rules>  
</rewrite>

然后在 WordPress 后台>设置>固定链接>拉到最下面点击“保存更改”即可。

如果你的站点根目录没有 web.config 文件,则试试下面这种方法:

先新建一个 txt 文件,将下面的代码复制粘贴过去:

[ISAPI_Rewrite]  
# Defend your computer from some worm attacks  
#RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . [F,I,O]  
# 3600 = 1 hour  
CacheClockRate 3600  
RepeatLimit 32  
# Protect httpd.ini and httpd.parse.errors files  
# from accessing through HTTP  
# Rules to ensure that normal content gets through  
RewriteRule /tag/(.*) /index.php?tag=$1  
RewriteRule /software-files/(.*) /software-files/$1 [L]  
RewriteRule /images/(.*) /images/$1 [L]  
RewriteRule /sitemap.xml /sitemap.xml [L]  
RewriteRule /favicon.ico /favicon.ico [L]  
# For file-based wordpress content (i.e. theme), admin, etc.  
RewriteRule /wp-(.*) /wp-$1 [L]  
# For normal wordpress content, via index.php  
RewriteRule ^/$ /index.php [L]  
RewriteRule /(.*) /index.php/$1 [L]

然后另存为 httpd.ini 文件,上传到网站根目录,再到 WordPress 后台>设置>固定链接>拉到最下面点击“保存更改”即可。

IIS另类方法

其实还有一种另类的方法,不过不推荐使用此方法,治标不治本。

在网站根目录建立一个 404.php 文件。然后打开编辑,插入如下代码:

<?php   
$qs = $_SERVER['QUERY_STRING'];  
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs,':80')+3);  
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];  
include('index.php');  
?>

宝塔面板设置伪静态

如果你的服务器上安装了宝塔面板,就方便多了——

在 宝塔面板>网站>设置>伪静态 里选择对应的伪静态规则(WordPress)并保存即可。

别忘了必备操作:在 WordPress 后台>设置>固定链接>拉到最下面点击“保存更改”!

相关专题
404
404
2024-06-30 34

当我们访问无法访问的网页时,服务器会返回404页面.合理的使用404页面,可以增加用户体验,所以我们必须学习设置404教程,还有下载一个漂亮的404网页模板....

相关推荐
  • 404错误
  • 404教程
  • HTTP状态码
  • 宝塔面板怎么设置404页面?

    首先这个要看你网站的服务器。服务器不同设置方式也不同,有的是Windows系统,有的是linux系统。小编以笔者使用的宝塔面板为例创建404页面。进入网站设置,找到网站配置选项宝塔面板可以自定义404路径,这个地方是默认的路径,也就是在网站根目录创建一个404...

    宝塔面板 598 5年前
  • 怎么设置404页面

    网站为什么要有404页面1.网站设置了404错误页面,在网页不存在的情况下,或者出现死链的情况下,会通知百度等搜索引擎蜘蛛,“这是个404页面”。百度等搜索引擎蜘蛛就不会把这个不存在页面的链接收录到索引中。如果这个页面之前已经被百度等搜索引擎收录,那...

    服务器配置 189 5年前
  • 如何让你的404页面变的更加实用

    随着网站的不断发展,网站本身的架构会不断变化,页面和内容会在重设计过程中不断调整,被重新定向。网站本身的优化,往往不可避免地让一部分内容不再那么容易被用户找到,当用户打开的时候,就是 404 页面了。绝大多数用户害怕看到这个页面,这意味着这个链接所...

    网站优化 280 7年前
  • CentOS宝塔面板一键设置404教程
    CentOS宝塔面板一键设置404教程

    我的站长站今天分享一篇在CentOS宝塔面板中,一键设置404教程方法,只需轻松几步,就可以自动配置好404。宝塔面板设置404方法1、打开宝塔2、进入“软件商城”-“第三方应用”-安装“404公益”3、安装...

    宝塔面板 114 2年前
  • 如何让你的404页面变的更加实用

    随着网站的不断发展,网站本身的架构会不断变化,页面和内容会在重设计过程中不断调整,被重新定向。网站本身的优化,往往不可避免地让一部分内容不再那么容易被用户找到,当用户打开的时候,就是 404 页面了。绝大多数用户害怕看到这个页面,这意味着这个链接所...

    网站优化 280 7年前
  • phpcms如何将已删除的内容http状态码设置为404

    截止目前改版已经持续了两个半月,虽然百度说跳转关系至少要保持三个月,但我的关键词权重已转移完成,新站流量也很稳定,再加之原网站使用的cdn是360网站卫士的,动不动改版规则验证失效真是够头疼。所以,我决定删除改版规则,解除跳转关系,提交死链,这就需要把ph...

    phpcms教程 149 5年前
  • HTTP状态码超详细大全

    1xx(临时响应)代码说明:表示临时响应并需要请求者继续执行操作的状态代码。http状态码 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。http状态码 101 (切换协议) 请求者已要求服务器切换协议,服务器已确...

    经验分享 47 2年前
  • HTTP状态码详解大全

    100 继续发送请求这个状态码是告诉客户端应该继续发送请求,这个临时响应是用来通知客户端的,部分的请求服务器已经接受,但是客户端应继续发送求请求的剩余部分,如果请求已经完成,就忽略这个响应,而且服务器会在请求完成后向客户发送一个最终的结果200 请求...

    经验分享 96 3年前
  • 如何让你的404页面变的更加实用

    随着网站的不断发展,网站本身的架构会不断变化,页面和内容会在重设计过程中不断调整,被重新定向。网站本身的优化,往往不可避免地让一部分内容不再那么容易被用户找到,当用户打开的时候,就是 404 页面了。绝大多数用户害怕看到这个页面,这意味着这个链接所...

    网站优化 280 7年前
最新更新