为什么要设置伪静态化
建站初期wordpress得所有页面都是动态的,不易被各大搜索引擎收录,所以我们要对wordpress进行改造,让它去迎合去适应各大搜索引擎。
WordPress由于是PHP系统,所以不能完美静态化,只可以实现伪静态化,,并且只针对文章,其它页面、存档、日期的页面不可以伪静态化。
伪静态化后更容易被各大搜索引擎收录、增加权重,另外,拼音或英文的后缀还能增强网站访问体验。修改步骤:登录网站后台→设置→固定链接→自定义结构,输入展示代码,可以显示不同的链接,展示方式可以自己选择。
1、自定义WordPress链接后缀都有哪些,如下:
PS:使用的时候删去括号及括号里面的中文。
%year% (年份,四位数字)
%monthnum% (月份)
%day% (当日)
%hour% (小时)
%minute% (分钟)
%second% (秒)
%postname% (页面别名)
%post_id% (序列数字)
%category% (分类别名)
%author% (作者名)
2、服务器或虚拟主机伪静态规则的设置
设置WordPress固定链接伪静态化后,出现网页打不开这种情况,是因为缺少伪静态规则导致的。
WordPress固定链接伪静态化规则的设置
是根据你主机环境来决定的,不需要插件,网上运行的wordpress无非IIS/Apache/Nginx这三种环境。
一、Linux服务器环境
请确保根目录开启了777权限,已开启的话,在修改自定义固定链接后,会在主机根目录自动生成一个.htaccess的文件,打开查看是否已生成规则,生成的话,就可以了,就不需要往下看了。
如果没有生成.htaccess,或者.htaccess里没有内容,那就需要手动创建一个txt文件,使用上传软件修改名为 .htaccess,粘贴Apache或Nginx规则代码,保存并上传到网站根目录就行了。
Apache规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Nginx规则
location / {
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;
}
}
二、Windows主机IIS环境下伪静态规则的设置
你使用的windows主机必须安装了装Rewrite 组件才能支持伪静态,可以询问你的主机商所使用的主机是否支持伪静态,支持的话按下面操作:
如果主机支持伪静态,在修改wordpress固定链接后无法伪静态,在根目录自动生成一个httpd.ini,没有生成的话,就创建一个txt文本,修改名字为httpd.ini,复制粘贴下边代码,保存上传到根目录。
[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]
以上就是各种主机系统下为wordpress配置为静态的方法了,按照步骤一步一步来就可以了。
分享一个伪静态规则转换工具:https://www.toolnb.com/tools/rewriteTools.html