Lisa
Lisa

Reputation: 21

Getting file name of file directed by .htaccess?

I'm making a dynamic image for a forum that doesn't allow dynamic images.

I tried using .htacess to redirect all *.png files to image.png... which works perfectly, but from here I can't seem to be able to get the filename of the .png that was requested to generate the content.

For example:

  1. user puts in banana.png

  2. htaccess forwards to image.php

I need a way of getting that banana into my php script.

Using $_SERVER['REQUEST_URI'] and $_SERVER["SCRIPT_NAME"] just returns that of the PHP file.

Is there a way of redirecting it to image.php?=bananana for example?

Upvotes: 2

Views: 1984

Answers (2)

ceejayoz
ceejayoz

Reputation: 180024

RewriteEngine on
RewriteRule ^(.+)\.png$ image.php?file=$1 [L,QSA]

If this doesn't work, you likely don't have mod_rewrite enabled.

Upvotes: 1

eyelidlessness
eyelidlessness

Reputation: 63529

Try this one. You should be able to access the image path at $_GET['image']. Added ability to preserve existing query string if need be, (but the image key would obviously be overridden).

If you are still getting 404, I don't know what to say. I tested this and it works for me.

RewriteRule ^(.*\.png)$ image.php?%{QUERY_STRING}&image=$1 [L]

Upvotes: 2

Related Questions