刚刚安装好的WordPress网站,发表的文章链接都是一个?后面带一个p的数字链接,虽然访问是没问题,搜索引擎也能收录.
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这三种环境:
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;
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的服务器环境,成本低,可以以较低的配置承受比较大的访问量,值得使用.
<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站点的根目录即可。
需要注意的是: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