美文网首页程序员我爱编程
为WordPress设置固定链接 使搜索引擎更容易收录

为WordPress设置固定链接 使搜索引擎更容易收录

作者: 曦语_ | 来源:发表于2018-05-28 01:35 被阅读25次

     

    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
    

    上网攻略了一番 大家常用的有两种

    1.  /%post_id%.html 
    2.  /%postname%.html
    

    博主使用的是/%post_id%.html

    【实现方法】

    第一步:wordPress后台 设置-> 固定链接

    20170627154529.png

    第二步:向function.php中添加如下代码

    /**
     * 设置多种自定义文章类型的固定链接结构为 ID.html
     * https://www.wpdaxue.com/custom-post-type-permalink-code.html
     */
    $mytypes = array(//根据需要添加你的自定义文章类型
        'type1' => 'slug1',
        'type2' => 'slug2',
        'type3' => 'slug3'
        );
    add_filter('post_type_link', 'my_custom_post_type_link', 1, 3);
    function my_custom_post_type_link( $link, $post = 0 ){
        global $mytypes;
        if ( in_array( $post->post_type,array_keys($mytypes) ) ){
            return home_url( $mytypes[$post->post_type].'/' . $post->ID .'.html' );
        } else {
            return $link;
        }
    }
    add_action( 'init', 'my_custom_post_type_rewrites_init' );
    function my_custom_post_type_rewrites_init(){
        global $mytypes;
        foreach( $mytypes as $k => $v ) {
            add_rewrite_rule(
                $v.'/([0-9]+)?.html$',
                'index.php?post_type='.$k.'&p=$matches[1]',
                'top'
                );
            add_rewrite_rule(
                $v.'/([0-9]+)?.html/comment-page-([0-9]{1,})$',
                'index.php?post_type='.$k.'&p=$matches[1]&cpage=$matches[2]',
                'top'
                );
        }
    }
    

    第三步:检查主机是否支持伪静态

    这里本博客用的是LNMP

    vi /usr/local/nginx/conf/nginx.conf
    

    在root /home/xxx/xxx;这一行下面添加:

    include wordpress.conf;
    

    wordpress.conf为伪静态文件
    如需要其他伪静态文件 自己创建个并上传到/usr/local/nginx/conf/ 目录下

    并include 伪静态.conf; 修改完保存

    执行:

    /etc/init.d/nginx restart 
    

    重启生效

    如果报错可能是添加有误或伪静态规则有误。

     

    相关文章

      网友评论

        本文标题:为WordPress设置固定链接 使搜索引擎更容易收录

        本文链接:https://www.haomeiwen.com/subject/waqwjftx.html