图片待添加
图片待添加

WordPress SEO伪静态规则设置Nginx与Apache和https伪静态规则

2019-01-31 12:26 分类:WordPress SEO教程, WordPress基础教程 阅读(次阅读) 标签:,

刚刚安装好的WordPress网站,发表的文章链接都是一个?后面带一个p的数字链接,虽然访问是没问题,搜索引擎也能收录.

为什么还需要设置WordPress伪静态呢?

a. 百度更喜欢html、htm后缀的页面,现在我了解到的WordPress比较著名的博客大都使用了htm后缀的WordPress伪静态,可见修改固定链接是很有必要的。 

请阅读: WordPress固定链接设置教程如何利于SEO
b. 更符合主流:
互联网开始的网页设计都是html、htm 后缀,看起来也更美观大方.
c. 从优化角度来说,/%postname%.html是更适合做关键词排名的,现在大多网站都靠百度吃饭.

所以为了网站的长期发展,为了更利于WordPress seo还是建议将你的WordPress伪静态设置好.

刚安装好是这样的: https://www.wpyi.com/?p=1
WPYI的网站设置的WordPress伪静态后显示的是这样的: https://www.wpyi.com/ip-validation-loophole.html
我这个显示方式需要每次发布文章都手动输入设置链接名称.有点繁琐.不过我每天大概只发布几篇文章,所以还好.

后台有个固定链接设置,但是设置WordPress固定链接后,网页却打不开,出现这种情况这是因为缺少伪静态规则:
需要先看看你的服务器是什么运行环境,网上运行的wordpress主流是IIS/Apache/Nginx这三种环境:

Nginx环境 非SSL  WordPress伪静态规则如下:

location / {
try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

你也可以利用WordPress伪静态实现安全设置:  WordPress安全:伪静态规则禁止外部访问部分目录的php执行文件

也有很多朋友使用下面的这段规则,不过WordPress后台登录会出问题

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;

Nginx 环境 SSL(https)WordPress伪静态规则如下:

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;
    }
if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}
error_page 497 https://$server_name$request_uri;
}
location ~* ^/(wp-content|wp-includes)/.*\.(php|php5)$
{
deny all;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

网上很多分享的wordpress伪静态设置缺少一段,这一段,这直接导致后台很多页面无法访问,复制别人的东西时能自己先检查下吗?

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

近年来vps的成本越来越低,个人站长大多使用 linux配置nginx的服务器环境,成本低,可以以较低的配置承受比较大的访问量,值得使用.

www.wpyi.com自己使用的服务器设置伪静态的方法如图

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>

Apache环境的WordPress伪静态如何添加?

新建一个txt文件,将Apache环境WordPress伪静态代码添加到文件中,然后另存为.htaccess文件,上传到WordPress站点的根目录即可。

WordPress IIS环境下 WordPress伪静态规则:

需要注意的是:windows主机必须安装了装Rewrite 组件才能支持伪静态,记得咨询下你的主机商所使用的windows主机是否支持伪静态,支持的话请继续往下看。
如果主机支持伪静态,在修改wordpress固定链接后无法伪静态,在根目录自动生成一个httpd.ini,没有生成的话,就创建一个txt文本,修改名字为httpd.ini,复制粘贴下边代码,保存上传到根目录.

不过话说回来,使用windows 服务器做php还是不太般配,等网站有一定访问量后还是建议改成linux的服务器环境.

WordPress IIS环境下 WordPress伪静态规则:

[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伪静态规则后再去设置WordPress固定链接.我们写了相关教程: https://www.wpyi.com/wordpress-url.html


本文地址: https://www.wpyi.com/wordpress-rewrite.html