wordpress代码实现站内搜索结果页面URL地址伪静态方法

在wordpress后台设置固定链接可以轻松实现文章、分类、标签等页面的URL伪静态形式,但是wordpress站内搜索结果页面的URL却依然是“http://域名/?s=关键字”的动态URL形式,部分WP博主觉得不符合SEO要求,希望把搜索结果页面的URL也实现“http://域名/search/关键词”的伪静态形式,实现方法也很简单,最直接的只需要通过在functions.php文件添加相关的函数代码即可,无需安装插件。

这里提供两种实现方法。根据自己的实际情况取舍!

方法一

在当前主题的functions.php文件第一行代码 <?php 下面添加以下代码:

function tongleer_search_url_rewrite() {
    if ( is_search() && ! emptyempty( $_GET['s'] ) ) {
        wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
        exit();
    }
}
add_action( 'template_redirect', 'tongleer_search_url_rewrite' );

保存文件即可。

方法二

通过在.htaccess文件添加伪静态规则也可以实现,把下面的代码添加到网站根目录的.htaccess文件(对支持.htaccess的主机有效)

RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]

OK!到这里