Eu acho que você pode usar mod_rewrite
no Apache para fazer isso. Idealmente, se você disser mod_rewrite
para fazer o que parece como uma reescrita inútil, você pode fazer com que ele sirva um arquivo cujo nome inclui a string de consulta. Coloque algo assim na configuração do seu servidor (não, infelizmente, em .htaccess
ou <Directory>
)
RewriteEngine on
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^(.*) /path/to/webdir/$1?%1
Não sei o que isso fará com URLs com vários pontos de interrogação. Acho que também acrescentará um ponto de interrogação a URLs sem string de consulta. Você poderia alterar o primeiro regexp para (.+)
, mas ele removeria o ponto de interrogação dos URLs com uma string de consulta vazia.
Se isso não funcionar, você poderia renomear os arquivos para algum nome sem pontos de interrogação (por exemplo, alterá-los para% s ou algo assim) e usar:
RewriteEngine on
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^(.*) /path/to/webdir/$1\%%1
Eu não sei como isso lida com o PATH_INFO. Se o Gallery usar, talvez seja necessário adicionar algo como
RewriteCond %{PATH_INFO} (.*)
RewriteRule ^(.*) /path/to/webdir/$1/%1
(Mas você teria um conflito se o Gallery usasse os dois " link " e " link ", já que você não poderia ter o index.php no sistema de arquivos tanto para um arquivo quanto para um diretório. Você poderia contornar isso fazendo mais algum nome munging.)
Enquanto lançamos um monte de mod_rewrite, podemos usá-lo para definir tipos MIME:
RewriteRule \.php - [T=text/html]
ou
RewriteCond %{REQUEST_FILENAME} \.jpg$
RewriteRule ^ - [T=image/jpeg]
ou coisas semelhantes. (Note como o primeiro se quebraria se um álbum ou foto continha ".php", etc.)
Deixe-nos saber como isso acontece!