如何重定向/搜索/到?s=

时间:2016-03-03 作者:jchwebdev

我设置了一个使用典型GET格式的搜索页面

    <form id="searchform" action="http://example.com" method="get">
        <input id="s" type="text" name="s" placeholder="Search Again">
    </form>
为方便用户,我希望将以下url重定向到搜索页面:

http://example.com/search?search-term
重定向到:

http://example.com/?s=search-term
我还希望重写或重定向来处理没有搜索参数的情况。也就是说,当URL为/search或/search时,我仍然希望页面重定向到搜索模板。

我该怎么做?

1 个回复
SO网友:Ethan O\'Sullivan

在您的.htaccess<IfModule mod_rewrite.c> 标签:

RewriteCond %{QUERY_STRING} (^|&)(.*)
RewriteRule ^(.*)$ /?s=%2 [R=301,L]
基于默认值.htaccess 由WordPress生成,现在在自定义RewriteRule:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Custom Rules
RewriteCond %{QUERY_STRING} (^|&)(.*)
RewriteRule ^(.*)$ /?s=%2 [R=301,L]
</IfModule>

相关推荐

Redirect htaccess

我需要帮助重定向我的页面。例如,我有网站https://example.com. 我需要将内容从https://example.com 到https://example.com/blog. 这不是问题,我通过更改主页URL来做到这一点。这很有效。但现在我需要添加来自旧的重定向https://example.com 到https://xmpl.com.我想用。htaccess,但这不起作用。你们能帮帮我吗?以下是我对此的一些尝试,但两者都不起作用。RewriteEngine On RewriteRu