Acabei de passar as últimas 10 horas da minha vida nisso e estou andando em círculos, então esperava que alguém pudesse me ajudar.
Quero que um URL específico seja carregado assim:
Quando um URL em um formato como este chega, gostaria de reescrevê-lo para chegar ao servidor como:
http://example.com/generate.php?f=2011/image.png&attribute=small
Com base no que foi dito acima, minha pergunta é dupla:
- Como posso reescrever o URL no htaccess para atender aos meus requisitos acima?
- Se o URL original não tivesse o parâmetro de string de consulta do atributo, como posso garantir que o atributo será falso/em branco/etc quando atingir o servidor via htaccess?
Responder1
RewriteEngine On
# If it's not an existing file...
RewriteCond %{REQUEST_FILENAME} !-f
# ...and it's not an existing directory...
RewriteCond %{REQUEST_FILENAME} !-d
# ...and it starts with "f/" then rewrite it to generate.php
RewriteRule ^f/(.*)$ generate.php?f=$1 [L,QSA]
Os dois RewriteCond
podem ser omitidos. Mais Informações:
Responder2
RewriteEngine On
RewriteRule ^([a-z]+)/([0-9]+)/image.png?attribute=small$ generate.php?f=$2/image.png&attribute=small&%{QUERY_STRING} [L]
Responder3
Aqui está um que tem mais chances de funcionar:
RewriteEngine On
# If it's not an existing file...
RewriteCond %{REQUEST_FILENAME} !-f
# ...and it's not an existing directory...
RewriteCond %{REQUEST_FILENAME} !-d
# ...and it starts with "f/" then rewrite it to generate.php
RewriteRule ^([a-z]+)/([0-9]+)/image\.png$ /generate.php?f=$1 [QSA,L]
Por favor me diga se funciona