Removendo a string final remanescente após RewriteRule

Removendo a string final remanescente após RewriteRule

Eu tentei de tudo, mas simplesmente não consigo acertar :( Tenho mais de 800 URLs e preciso reescrevê-los para apontar para um arquivo PDF simples. Atualmente, tenho links para:

http://subdomain.mydomain.com/?type=pdf&id=id123
http://subdomain.mydomain.com/?type=epub&id=id123

e eu preciso disso:

http://subdomain.mydomain.com/pdf/id123.pdf
http://subdomain.mydomain.com/epub/id123.epub

Eu li as páginas de referência do htaccess e rewriteule, mas ainda estou faltando alguma coisa. Não consigo remover a string final (?type=pdf&id=id123)

Isto é o que eu tenho:

RewriteCond %{QUERY_STRING} ^type=pdf&id=(.*)$ 
RewriteRule /?$ pdf/%1.pdf

E é claro que resulta erroneamente:

 http://subdomain.mydomain.com/pdf/id1234.pdf?type=pdf&id=id123

Eu não consigo me livrar?type=pdf&id=id123no final

Qualquer ajuda na direção certa seria totalmente apreciada.

Responder1

Tente adicionar bandeiradescarte de string de consulta [QSD]:

RewriteRule /?$ pdf/%1.pdf [QSD]

informação relacionada