我正在尝试将wordpress网站的搜索字词重定向到非wordpress网站。通过在我的.htaccess
文件中添加以下内容并使用启用了正则表达式的重定向插件,我已经成功地为英文字符做了这个;
RewriteCond %{QUERY_STRING} s=(.*)
RewriteRule ^$ /search/%1? [R,L]
搜索字词“wallet”被重定向到:http://jpdev.globe-trotter.com/search/wallet
使用重定向插件,我已将启用了正则表达式的/search/
重定向到以下网址:vulcanize.jp/products/list?name={searchterm}
,这对英文字符再次正常工作。
我的问题是这是一个日语网站,当我搜索日语字词{ウォレット}
时,它会重定向为;
%25E3%2582%25A6%25E3%2582%25A9%25E3%2583%25AC%25E3%2583%2583%25E3%2583%2588
而不是ウォレット
并导致错误。
有没有办法在不编码日文字符的情况下将搜索字词重定向到https://vulcanize.jp/products/list?name=
?
答案 0 :(得分:0)
如果将来有其他人遇到此问题,我就是这样解决的。
编码日文字符的问题与htaccess重定向有关。从htaccess文件中删除行后,我在functions.php;
中使用了以下内容
function fb_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', 'fb_change_search_url_rewrite' );
这有效地执行了与htaccess文件尝试相同的操作,但这样做不会对日文字符进行编码。从那里,Redirection插件可以重定向/搜索/启用正则表达式到目标URL,并根据需要将日语字符添加到末尾。
到最后到达那里。