在 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]