重定向日文字符

时间:2017-03-10 12:16:12

标签: php wordpress apache .htaccess search

我正在尝试将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=

1 个答案:

答案 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,并根据需要将日语字符添加到末尾。

到最后到达那里。