質問にあるように、以下を使用して foo.php?q=bar を /foo/bar に実行できました
RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^foo\.php$ foo/%1? [R=301,L]
/foo/bar を foo.php?q=bar にリダイレクトする方法 を確認しながら
foo = foo、つまり dosearch という名前のファイルが存在し、そこにリダイレクトされます。
dosearch/data
今私は見たい
/(.*)/(.*)
最初の一致は dosearch であり、そうであれば dodosearch.php?q=$2
編集:
これは新しい htaccess ですが、「リダイレクトが多すぎます」というメッセージが表示され続けます
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^dosearch\.php$ dosearch/%1? [R=301,NC,L]
RewriteRule ^dosearch/([^/]+)? dosearch.php?q=$1 [NC,L]
どんな助けでも感謝しています......