没事折腾wordpress,改了固定链接,发现全成了404,网上百度一番,基本搞定,现记录下来,方便以后使用。
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、 /%postname%/
我改成这种形式:
/%category%/%post_id%.html
改了固定链接,直接访问肯定会出现404。由于我用的nginx,所以也要改rewrite规则,规则如下:
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;
}
加载了上述规则后,页面就可以正常访问,但是登录后台却不行了,成了404,吓我一跳。又百度一番,发现改了固定链接会影响到后台页面,所以还需要加一段规则:
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
再次重新加载Rewrite规则,前台和后台访问已经全部正常了。
后续又查了下,貌似这个规则官方有更新了,两行就可解决,换成这个试了试,也确实是正常的。
location / {
try_files $uri $uri/ /index.php?$args;
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
}
在使用中发现,栏目页面的链接是:URL/category/栏目名。我想去掉其中的“category”,变成“URL/栏目名”的形式,发现只需要在后台做一个小小的改动就行了。在后台的“固定链接”页面,将“分类目录前缀”中填上“.”,也就是英文中的句号,保存即可。
我好想用得着,收藏先
我直接用的/year/post_id.html
@黑暗游侠这个又怎么弄呢?/%category%/%post_id%.html貌似更符合SEO
楼下说404设计的好可以留住用户,然而我的404····不过博主这样折腾,还是建议首选apache吧,毕竟.htaccess文件修改比re好多了
404页面设计的好,也可以留住用户。
话说博主玩的这么转怎么用这丑的主题,还有那个反人类的验证码。。。感觉体验好差。。
研究的好。
这几年一直用的/%postname%.html这种。。。
我的好像是弄数字的。
良心分享,这个不错,哈哈!
留个痕迹!