重写/keyword1+keyword2.html以搜索页面|.htaccess

时间:2016-05-23 作者:Ganesh Rathinavel

在wordpress 4.4设置中,我无法将关键字重定向到搜索页面。我试图实现的是重写/重定向

www.site.com/**search+keyword.html*** 

www.site.com/**?s=search+keyword&submit=Search
我已经尝试了在谷歌找到的每一个解决方案,但没有一个适用于这个版本。

.htaccess文件:

    <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
RewriteRule ([^/]+)\\.html$ ./?s=$1 [L]

</IfModule>
我可以使用以下方式搜索wordpress:http://localhost/wordpress/search/keyword, 但我无法更改搜索URL。

我需要的是,每当有关键字后跟.html 在URL中。我怎样才能做到这一点?

1 个回复
SO网友:Ismail

不要触摸。htaccess文件,有一个整洁的工具add_rewrite_rule() 你应该挂在上面init:

add_action(\'init\', function() {

    add_rewrite_rule(
        \'search+([^/]+).html$\',
        \'index.php?my_custom_search=1&s=$matches[1]&submit=Search\',
        \'top\'
    );

});
之后,您应该刷新一次重写规则(通过在“设置”>“永久链接”中保存永久链接设置或使用flush_rewrite_rules() 但仅在需要时调用该函数一次)。

这应该www.site.com/search+keyword.html 将搜索结果作为www.site.com/?s=search+keyword&submit=Search