it-swarm-ja.tech

/ search /にリダクションするにはどうすればよいですか?s =

私は典型的な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
jchwebdev

.htaccessでは、<IfModule mod_rewrite.c>タグの間に次のルールを追加してください。

RewriteCond %{QUERY_STRING} (^|&)(.*)
RewriteRule ^(.*)$ /?s=%2 [R=301,L]

WordPressによって生成されたデフォルトの.htaccessを基にすると、カスタム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>