2013-12-12 3 views
0

У меня есть этот файл .htaccess, который перенаправляет файлы .PNG в .PHP (для динамического изображения), однако я не хочу делать это со всеми .PNG в папке, например, когда Я хочу разместить обычное статическое изображение на своей странице, я не могу, так как это создаст динамическое изображение..HTACCESS и перенаправление

RewriteEngine On 
RewriteRule ([a-zA-Z\0-9\s]+)\.png image.php?name=$1 

Я не очень опытен с .HTACCESS, поэтому любая помощь будет оценена, спасибо.

+0

Как сервер узнает, хотите ли вы его перенаправить или нет? Какая разница в имени файла PNG? –

+0

Вы не можете добавить другое правило для перенаправления .pngx в .png, а затем сохранить свои статические файлы в виде pngx? –

+0

@DanGoodspeed Я думал, могу ли я получить динамические изображения из другого каталога? – Senax

ответ

1

Вы можете добавить RewriteCond, который пропускает следующий RewriteRule если файл или каталог !-f!-d существует. Я включил оба для вашей справки - вы можете использовать только !-f.

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ([a-zA-Z\0-9\s]+)\.png image.php?name=$1 [L] 

Пример, где это было бы полезно, если у вас есть php-скрипт, который создает уменьшенные изображения. Укажите вашу страницу html, где есть миниатюра .png должно быть, а когда нет, перенаправляйте на страницу .php, которая ее создает, а затем записывает на диск и обслуживает его напрямую. Следующий запрос попадет в RewriteCond и найдет подходящую миниатюру и будет обслуживать ее напрямую, минуя переписывание.

+0

Я добавил флаг [L] в конце, чтобы сделать это последним правилом, чтобы остановить дополнительные перезаписывания дальше, если они есть. –

Смежные вопросы