example.com/a=process&b=5&b_id=5
これをリダイレクトするにはどうすればよいですか
example.com/a=process&b_id=5
したがって、すべての着信 URL に対して b=5 を削除できます。ただし、「a」、「b」、および「b_id」は静的ではなく変更可能です。これどうやってするの?
example.com/a=process&b=5&b_id=5
これをリダイレクトするにはどうすればよいですか
example.com/a=process&b_id=5
したがって、すべての着信 URL に対して b=5 を削除できます。ただし、「a」、「b」、および「b_id」は静的ではなく変更可能です。これどうやってするの?
内部リダイレクトを行う場合は、次のコードを使用します。
RewriteEngine On
# The query variable b is comming first.
RewriteCond %{QUERY_STRING} ^b=[0-9]*&(.*)$
RewriteRule ^(.*)$ %2?%1 [L,NS]
# The query variable b is comming in middle.
RewriteCond %{QUERY_STRING} ^(.*)&b=[0-9]*&(.*)$
RewriteRule ^(.*)$ %3?%1&%2 [L,NS]
# The query variable b is comming last.
RewriteCond %{QUERY_STRING} ^(.*)&b=[0-9]*$
RewriteRule ^(.*)$ %2?%1 [L,NS]
次に、print_r($_GET);
クエリ変数b
が配列にないことを出力します。
外部リダイレクトを行う場合は、次のコードを使用します。
RewriteEngine On
# The query variable b is comming first.
RewriteCond %{QUERY_STRING} ^b=[0-9]*&(.*)$
RewriteRule ^.*$ %{REQUEST_URI}?%1 [R,L,NS]
# The query variable b is comming in middle.
RewriteCond %{QUERY_STRING} ^(.*)&b=[0-9]*&(.*)$
RewriteRule ^.*$ %{REQUEST_URI}?%1&%2 [R,L,NS]
# The query variable b is comming last.
RewriteCond %{QUERY_STRING} ^(.*)&b=[0-9]*$
RewriteRule ^.*$ %{REQUEST_URI}?%1 [R,L,NS]
R、L、NS などについては、http://httpd.apache.org/docs/2.2/mod/mod_rewrite.htmlを参照してください。