乐于分享
好东西不私藏

WordPress设置固定链接之伪静态配置

这阵子网站刚备案成功,就急急忙忙的搬家到国内了,不得不说,国内的服务器速度确实是提上来了。但是对于一个小白站长老夜我来说,搬个家确实也是折腾了几天,因为Nginx和Apache的配置方法不同,当时也不太了解他们之间的关系,导致网站一打开页面就是404页面,百度找了一圈都是千篇一律的答案,简直服了,然后没办法,自己慢慢一边找一边查看相关资料,慢慢的终于配置成功了,相信不少小白站长和我一样遇到这种问题,现在老夜已经完美解决,就把自己的经验分享给大家,班门弄斧,如有不妥,欢迎指点。

大家都知道WordPress搭建好后默认的都是/?p=001这种链接格式的,虽然简洁但是看着总有点不舒服,而且现在的网站大部分都是.html结尾的,就类似于一个页面的格式,建成伪静态,也不知道老夜我分析的对不对,查阅了一些资料有些人认为固定链接格式对网站的收录并没有帮助,又有一部分人认为伪静态有助于SEO优化。关于为什么网站设置伪静态,我的想法就简单的多了——好看。老夜是个强迫症,对那种特殊符号有偏见,因此网站搬家第一件事就是设置了伪静态。下面就教大家正确的设置伪静态。

首先,请确认你的Linux服务器安装的是Nginx还是Apache,Windows服务器貌似是IIS,没玩过不做教程,如果你网站运行在虚拟主机上,请询问所在的空间商查看虚拟主机是Nginx还是Apache环境的,有些虚拟主机不支持rewrite模块,无法进行下一步操作。个人理解如果网站根目录有.htaccess文件的就一定是Apache,可以在.htaccess文件里面配置你的服务器参数、301跳转之类的。对于分辨Nginx和Apache就不多说了,设置伪静态之前先进入网站后台,设置-固定连接里面进行链接设置。

wordpress固定链接设置技巧:

1、不要让日期出现在固定链接里面,这基于两个方面的考虑。一是如果数字出现在固定链接里面,等于提醒搜索引擎,这是很旧的内容了,没必要再爬一遍了,如果网站更新频率大请无视。另外一个原因是,假如你要修改文章的日期重新发布的话,链接地址就变了,也就是意味着你的反向链接,PR 等等都没有了。

2、不要让分类的链接出现在固定链接里面,这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷:一是一篇文章如果选择了多个分类的话,则会出现多个链接地址,这很容易造成因为重复内容而被搜索引擎惩罚;二是有可能会造成关键词堆砌而被搜索引擎惩罚。

3、链接不要过深,这一点经常看到。很多wordpress 用户的固定链接是年/月/日/分类名/文章名。这种过于深的固定链接对搜索引擎是非常不友好的。

4、不要让中文字符出现在固定链接里面,虽然现在的搜索引擎已经能识别URL地址里面的中文字符,但无论是从美观上,还是从wordpress 优化的角度来看,都是非常差的。

wordpress固定链接设置的一些参数:

  • 1、/%year%/%monthnum%/%day%/%postname%/
  • 2、/%year%/%monthnum%/%postname%/
  • 3、/%year%/%monthnum%/%day%/%postname%.html
  • 4、/%year%/%monthnum%/%postname%.html
  • 5、/%category%/%postname%.html
  • 6、/%post_id%.html
  • 7、/%post_id%/
  • 8、/%postname%/
  • 9、/%postname%.html

将上述参数进行组合,即可得到wordpress的固定链接形式。老夜这里用的是/%post_id%.html,看个人喜好与取舍。

设置好固定链接后随便打开一个站内文章发现全部404了,不要慌,教程才刚刚开始,下面带来Nginx和Apache的正确配置。

Nginx :

在 /etc/nginx/nginx.conf文件的 loction / {} 中添加,对于那些服务器上运行多个站点情况,有些人会给每个站点单独配置nginx,务必找到正确的conf文件进行配置。

操作前请提前备份之前的代码。

代码如下:

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;
}

如果出现网站排版错误,请及时删除,并使用以下代码。

#加入如下一条命令即可
try_files $uri $uri/ /index.php?$args;

修改之后重启Nginx服务。

service nginx restart

Nginx教程结束。

Apache :

/etc/httpd/conf/httpd.config 文件

原因一:Apache中的rewrite模块没有开启,去除这一行前面的#号就可以了

LoadModule rewrite_module modules/mod_rewrite.so

原因二:AllowOverride Not Enabled;服务器可能没打开AllowOverride。如果httpd.config的AllowOverride设置的是None,那.htaccess将被忽略。找到以下2处位置并修改:

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html>
# … other directives…
AllowOverride All
</Directory>

修改完成后,要重启Apache才能生效。

service httpd restart

Apache修改结束。

参考文章:https://www.cnblogs.com/whiterock/p/7232383.html

控制面板 :

修改后老夜又发现了一个更佳简单的方法,如果你是在Linux服务器安装了建站面板的话,一切就简单的多了,这里用宝塔面板为例,真正完完全全的傻瓜式操作。

首先安装号宝塔面板,进入面板,点击直接配置,都无需找配置文件路径了。

如果宝塔面板上运行多个站点,请按照下图点击网站-打开设置。

然后出现站点修改,找到伪静态设置项,选择WordPress保存,直接一键生成配置代码。

配置完成,就是这么简单。

修改固定连接后,再次打开网站点击文章发现链接已经改变了,全部换成了.html结尾了,链接结构更美观了。但是问题随之而来,之前百度收录的文章链接还是以前的就链接,通过旧链接进入的用户就全是404界面了。为了不让网站收录掉完,请及时使用301重新定向,如果是新站请直接无视,老站因为文章太多重定向也是十分的麻烦,为了考虑小白的感受,代码就不发了,百度了一下眼花缭乱的,这里我们直接用插件解决,插件叫WP Permalinks Migration。插件2013年就不在更新了,但是WordPress该版本还是完美支持的,在此感谢WordPress大学的昌萌提供的插件,WordPress插件后台已经搜索不到这款插件了,文章底部已经打包,请自行下载。

关于插件的正确使用,请参考:https://www.wpdaxue.com/wp-permalinks-migration.html

WordPress固定链接的伪静态设置到此结束,如有问题欢迎补充。教程仅针对向老夜这样的小白站长,大佬请无视即可。

 

相关代码以及插件均已打包,底部下载即可。

 


未经允许不得转载:夜雨聆风 » WordPress设置固定链接之伪静态配置
支付宝扫码打赏 微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏……

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

×
订阅图标按钮