質問: 私は典型的な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 /の場合は、ページを検索テンプレートにリダイレクトします。どうやってこれをするの?
回答: .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>