Nginx 设置 WordPress 自定义固定链接后的地址不带html跳转.html

2018年9月3日 0 条评论 417 次阅读 0 人点赞

萌新网在最初的时候由于没有经验,最早使用了阿里云的虚拟主机,Wordpress设定了数字型的固定链接,由于这种结构不能使用伪静态,所以后来在网站流量上去之后就发现网站速度变得很慢,于是更换了伪静态,添加了自定义结构.html,这个时候原来的文章并不能进行自动跳转,变用了跳转插件进行301逐个页面进行跳转,最终发现此插件很耗费主机资源,每天虚拟主机都好宕机一次,一狠心换了阿里云的ECS,之后死机问题没有了,一直用着插件大概半年,便决定撤去插件,然而在插件撤掉后我发现大量的404页面,也就是之前不带.html的页面还是在被搜索引擎收录,头一下就懵了,再把插件装回来吗?Google了好多资料,发现其实可以写跳转规则,写了好多次,终于发现了一篇很好的文章,成功的将所有不带.html的页面完全跳转到了现在的页面,即https://www.macxin.com/archives/274打开自动跳转到https://www.macxin.com/archives/274.html下面为步骤和代码;


注:源文章转载自sumile博客

在使用nginx之前,为了实现伪静态,我在wordpress后台设置里面的固定链接中,将“常用设置”设置为了固定链接,并在里面默认值(/ archives /%post_id%)的基础上在后面添加了名“.html”

 

 

后来使用了nginx之后,突然又发现.html不能正常打开了,显示的是nginx的404,没多想着急忙慌的就在固定链接里面选择了“数字型”,倒是没问题了

可是我之前的外链怎么办啊?

以前在其他地方留文章的外链留下的可都是带html的,总不能放弃这些文章吧

于是就在nginx里面配置了一下转发规则,将符合规则的.html路径对应到数字型的路径下,就可以正常访问了。

下面是两个我配置过的访问规则,我自己试了试,是可以的:

这一条,适合于后缀为”.html” 的转成去掉 html 的,如:https://www.macxin.com/archives/274.html打开自动跳转到https://www.macxin.com/archives/274

而这一条,适合给原来的链接添加后缀 html 的,如https://www.macxin.com/archives/274打开自动跳转到https://www.macxin.com/archives/274.html

对于以上两条,如果你的 url 中不是如我一样的“/archives/”的话,那么将这个修改为你自己的部分(萌新网就是用的这一条)

另外,你要转成什么样子的,就在 固定链接 里面的常用设置那里选择什么样子的:如我最后要转成”https://sumile.cn/archives/1688.html”,那么我在这里就应该选择 自定义链接,然后里面要填写 “/archives/%post_id%.html”

。如果我要转成”https://www.macxin.com/archives/274”,那么我选择“数字型”或者在 “自定义链接” 里面填写 “/archives/%post_id%”就可以了

各位根据自己的需要自己修改就好了。

下面我再发一个我完整的配置

配置请按照自己的实际情况改动,不能生搬硬套,比如其中的网址都应该改为自己的才能使用!

修改完跳转规则后重新启动nginx使其的配置生效即可;

注:注意保存自己的原来配置,防止配置不合适造成的网站不能访问等问题,有备无患。

刘晨

未来很明确,无需迷茫!

文章评论(0)

你必须 登录 才能发表评论