WordPress搜索结果页URL伪静态化

大家应该都知道,WordPress能够在设置-固定链接界面中修改网站的链接结构,以使我们的URL更加美化和更有意义。无论是用于SEO还是访客,它都十分有用。
WordPress搜索结果页URL伪静态化
WordPress的默认搜索结果URL结构为:https://www.febdays.com/?s=搜索词,而WordPress没有提供修改此搜索结果URL结构的选项。针对一些专注SEO者来说,这是难以忍受的。所以我们如何修改此链接结构?比如说,要实现这样的链接:https://www.febdays.com/search/搜索词

分享以下两种WordPress搜索结果页URL伪静态化的方法:

  1. 利用PHP代码修改搜索结果网址
    只需要在主题根目录下的functions.php文件中添加以下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    // 修改搜索结果页网址结构
    function wpkj_change_search_url_rewrite() {
        if ( is_search() && ! empty( $_GET['s'] ) ) {
            wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
            exit();
        }  
    }
    add_action( 'template_redirect', 'wpkj_change_search_url_rewrite' );
  2. 利用.htaccess文件更改搜索结构网址
    针对使用Apache主机的用户,你可以利用.htaccess文件添加以下规则:

    1
    2
    3
    # 修改 WordPress 搜索结果页 URL
    RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
    RewriteRule ^$ /search/%1/? [NC,R,L]

    如果是Apache主机环境的用户,能够在网站根目录下找到.htaccess文件,要是没有这个文件,也可以自己创建一个。

需要注意的是,部分主题代码有编写重写搜索结果页URL的规则,添加以上代码会出现报错,需要自行参考修改。

8

发表评论