0

質問にあるように、以下を使用して 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]

どんな助けでも感謝しています......

4

1 に答える 1

-1

こんにちは、私はこれを手に入れたと思いますが、そこにあるにもかかわらず、次のクエリは追加されません....

Options +FollowSymLinks +MultiViews

RewriteEngine On
RewriteBase /


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /dosearch\.php\?q=(.*)\ HTTP/  
RewriteRule ^dosearch\.php$ dosearch/%1?  [R=302,L]

RewriteRule ^dosearch/([^/]+)? dosearch.php?q=$1 [NC,L]
于 2013-07-25T14:52:26.030 に答える