[英]Rewrite search url in wordpress
我尝试了几种不同的.htaccess解决方案以及插件,但是似乎没有任何效果。 我在Wordpress网站上有使用此类网址的不同链接:
http://www.mydomainname.com/?s=&post_type=schools&general_search=1&general_search_term=Science
如何将这些网址改写为浏览器中的http://mydomainname.com/search/science
?
谢谢!
这是.htaccess文件中的内容:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^search/(.+)$ /?s=&post_type=schools&general_search=1&general_search_term=$1 [L,QSA,NC]
</IfModule>
# END WordPress
在您的.htaccess中尝试以下代码:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^search/(.+)$ /?s=&post_type=schools&general_search=1&general_search_term=$1 [L,QSA,NC]
编辑:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^search/(.+)$ /?s=&post_type=schools&general_search=1&general_search_term=$1 [L,QSA,NC]
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^index\.php$ - [L]
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
这对我有用。
http://wpengineer.com/2258/change-the-search-url-of-wordpress/
# search redirect
# this will take anything in the query string, minus any extraneous values, and turn them into a clean working url
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
不要忘记在/search/
之前添加任何内容以匹配您拥有的url。
简单的方法
function ctheme_search_url() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
exit();
}
}
add_action( 'template_redirect', 'ctheme_search_url' );
您可以使用wordpress重定向功能
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.