WordPress搜索-更改搜索URL会破坏特殊字符

时间:2018-07-26 17:27:44

标签: wordpress .htaccess

问题:默认的Wordpress搜索结果网址如下:

https://example.com/?s=search_query

并非最漂亮的格式。首选格式:

https://example.com/search/search+query

看起来更好,更易于链接,更用户友好。

找到解决方案:

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

新问题:包含非字母字符(例如“,[,'等)”的搜索查询破坏了搜索功能-输入 search“查询(或 25”小部件) )产生“ 0个结果:“搜索%22查询”

问题:如何修复重定向以正确处理双引号等字符?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用其他方法,将以下内容粘贴到主题的functions.php中。

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

查看参考链接以获取更多https://www.wpbeginner.com/wp-tutorials/how-to-change-the-default-search-url-slug-in-wordpress/