实现WordPress站内搜索结果URL伪静态化

实现WordPress站内搜索结果URL伪静态化,第1张

概述众所周知,WordPress 默认搜索地址为 http://www.22vd.com/?s=keyword ,很明显这是一个动态地址,和全站伪静态有点格格不入,而且还不利于WordPress静态缓存。

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。

众所周知,wordpress 默认搜索地址为 http://www.22vd.com/?s=keyword ,很明显这是一个动态地址,和全站伪静态有点格格不入,而且还不利于 wordpress 静态缓存。因此我们很有必要把 wordpress 站内搜索结果设置成伪静态。我们都知道 wordpress 后台可以轻松设置固定链接,可以实现文章、分类、标签等页面的 URL 伪静态化,但是 wordpress 站内搜索结果页面的 URL 依然是“http://域名/?s=关键字”的动态 URL 形式,部分 wordpress 用户觉得不符合 SEO 要求,希望把搜索结果页面的 URL 也实现“http://域名/search/关键词”的伪静态形式,其实实现方法也很简单,下面我们分享两种方法。

方法一:

只需要通过在 functions.PHP 文件添加相关的函数代码即可:

//默认搜索结果伪静态

function wp_search_url_rewrite() {

if ( is_search() && ! empty( $_GET['s'] ) ) {

wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) . "/");

exit();

}

}

add_action( 'template_redirect','wp_search_url_rewrite' );

现在去前台搜索,就会发现结果会跳转到【/search/关键词】了,当然如果动手能力强的话,我们为了让搜索直接进入这个页面,而不是要 301 跳转,我们可以稍微改造一下这个搜索框,常规搜索框代码一般如下:

<div ID="searchbar">

<form method="get" ID="searchform" action="http://zhangge.net/">

<input type="text" name="s" ID="s" placeholder="输入搜索内容" />

<button type="submit" ID="searchsubmit">搜索</button>

</form>

</div>

输入内容,点击搜索后就必然会跳到 ?s=keyword 这个动态页面。所以,我们需要通过 Js 代码来拦截这搜索动作,然后重新定义跳转地址,将代码如下修改即可:

<div ID="searchbar"> <form method="get" ID="searchform" action="http://zhangge.net/search/">

<input name="s" ID="s" placeholder="请输入搜索内容" onkeydown="if(event.keyCode==13){return Searcher('wp');}">

<button type="submit" ID="searchsubmit" onclick="return Search('wp');">搜索</button>

</form>

</div>

<script type="text/JavaScript">

function Search(){

var value=$("# s ").val()||"";

window.open("http://zhangge.net/search/"+value+"/");

return false;

}

</script>

很简单的代码,原理就是给搜索动作绑定了一个 Js 函数,而这个 Js 函数的功能就是获取当前输入的关键词,并拼接成一个新的地址,最后跳转过去即可。如此,就实现了 wordpress 默认站内搜索的伪静态化。很明显,这个方法适合任何 wordpress 主题。

方法二:

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

RewriteCond %{query_STRING} \?s=([^&]+) [NC]

RewriteRule ^$ /search/%1/? [NC,R,L]

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的实现WordPress站内搜索结果URL伪静态化全部内容,希望文章能够帮你解决实现WordPress站内搜索结果URL伪静态化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1010205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存