新手在使用WordPress搭建好一个网站后,会涉及到一个WordPress固定链接,又叫做WordPress伪静态的设置。
WordPress固定链接分为朴素、日期和名称型、 月份和名称型、数字型、文章名和自定义结构,那么使用哪种固定方式才是WordPress最佳固定链接设置呢?
答案如下:
WordPress最佳固定链接设置选项
WordPress最佳固定连接可以选择数字型和文章名两种,如果你是最求细节的人,愿意每篇文章都修改文章名,那么推荐选择文章名,不然的话就直接选择数字型吧。
你现在看到的我建站笔记的固定链接格式选择的就是数字型,例如这篇的链接是:
https://blog.naibabiji.com/tutorial/wordpress-gu-ding-lian-jie.html
注意:选择文章名的形式对SEO有好处,不过需要你为每篇文章设置一个文章名,这个文章名最好是修改为英文或者拼音形式的,如果不做修改,那么网址就会直接变成你网址+中文标题的形式,很长而且很难看,例如这样:
另外,如果你是一个喜欢更个性的固定链接方式的人,也可以选择自定义格式。
就像下图这样:
例如选择自定义结构,然后尾部加上.html (如果你需要安装开源版的WordPress小程序,那么你需要加上.html才能做到小程序文章内的链接跳转功能)那么本文的网址就会变成
https://blog.naibabiji.com/2626.html
当然,你可以自由组合,可用标签有下面这些,分别对应的意思如下:
%year% 年
%monthnum% 月
%day% 日
%hour% 小时
%minute% 分钟
%second% 秒
%post_id% 文章ID(自动生成的)
%postname% 文章名字(需要自己修改,不修改就使用文章名称)
%category% 分类
%author% 作者
后面的.html你可以自己随便写,例如写成.love这些任何你想的都可以的。
WordPress固定链接后404
当你设置完毕WordPress固定链接设置后,访问网站首页没有问题,但是访问文章页面会报404错误打不开的话,就是因为你服务器的伪静态规则没有设置好。
伪静态规则设置
宝塔面板伪静态规则设置
宝塔面板的话,进入宝塔面板后台,然后在你网站的设置里面,选择伪静态,然后选择wordperss保存即可.
LNMP一键包伪静态设置规则
LNMP一键包的话,设置伪静态规则可以在添加虚拟主机的时候就设置好,具体位置在添加虚拟主机的时候,询问是否使用伪静态,输入y,然后输入wordpress即可.
要不要启用伪静态,输入y回车.
这里输入伪静态规则,我们安装WordPress直接输入wordpress就行了。如果你WordPress安装在子目录的,就输入wp2
如果你是已经添加好了网站,发现忘记添加伪静态规则了,有两种方法解决:
- lnmp vhost del 删除添加的虚拟主机配置文件,然后lnmp vhost add重新添加。
- 配置虚拟主机的conf文件,把伪静态规则加进去. include rewrite/wordpress.conf;
自己编译的nginx配置伪静态
如果你不是使用的一键包或者宝塔安装的网站环境,而是自己编译的nginx,那么自己在虚拟主机配置信息里面加上下面这段内容,然后重启nginx就可以了.
location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent;
nginx二级目录伪静态规则
把下面的blog改成你二级目录的名字添加到虚拟主机配置文件里面即可.
location /blog/ { 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 (.*) /blog/index.php; } } rewrite /blog/wp-admin$ $scheme://$host$uri/ permanent;
apache wordpress伪静态规则
在网站根目录的.htaccess 文件里面插入下面的代码即可在apache下开启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>
注意事项
特别要提醒的是,从网站SEO的长远考虑,一开始就确定好固定链接设置哪一种,当网站正式上线运营后,不要轻易修改固定链接的形式,不然可能会造成网站排名消失等SEO不利因素。