何十回も解決された次の問題がありますが、解決策が見つかりません。
私はきれいな URL を取得したいブログ エンジンを書いているので、そのために Apache を使用mod_rewriteし.htaccessています。PHPスクリプトできれいなURLを書くことができるので、のようなもの/page/3 => /?s=3は完全にうまく機能しています. しかし、送信に使用する検索用のフォーム フィールドがあるためmethod="get"、クライアントに見苦しい URL を指定する以外に選択肢はありません。だから私が欲しいのは、一種のRedirectクライアントであり、次にRewriteサーバーの URL です/?q=foo =client=> /search/foo =server=> /?q=foo。(また/?q=foo&s=2=> /search/2/foo)
どういうわけか私のルールが機能しません。助けていただければ幸いです。
RewriteRule ^(index\.php)?\?q=(.*)$ search/$2 [R,L]
RewriteRule ^(index\.php)?\?q=(.*)&s=(.*)$ search/$3/$2 [R,L]
RewriteRule ^search/(\d+)/(.*)/?$ index.php?q=$2&s=$1 [NC,L]
RewriteRule ^search/([^/]*)/?$ index.php?q=$1 [NC,L]