Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

htaccess

304
28 ноября 2008 года
Fenyx
707 / / 26.01.2005
Добрый, по поиску не нашел (может плохо искал), а сам не могу додуматься
Есть урл http://site.com/img/file.gif
нужно проверить есть ли этот файл реально, если есть просто его отдать, если же нету проверить существует ли он по адресу
[COLOR=#0000ff]http://site.com/delete/img/file.gif[/COLOR] и отдать его,
в пртивном случае 404
Спс
37K
28 ноября 2008 года
Dedignat
13 / / 29.06.2008
Код:
RewriteEngine on

# Если запрошен file.gif, то устанавливаем переменную окружения FILE=1
RewriteRule   ^file\.gif$   $0   [E=FILE:1]

# Сначала проверяем в текущей папке
RewriteCond %{ENV:FILE} ^1$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule   ^.*$   $0   [L]

# Если не найден, проверяем в другой папке
RewriteCond %{ENV:FILE} ^1$
RewriteCond %{DOCUMENT_ROOT}/delete/img/file.gif -f
RewriteRule   ^(.*)$ ../delete/img/file.gif   [L]
304
28 ноября 2008 года
Fenyx
707 / / 26.01.2005
не факт что будет запрошен именно file.gif или именно gif, с тем же успехом нужно jpg, png, php на крайняк. Нужно проверить есть файл (любой) по запрашиваемому урл, если нет то проверить в делет папке и только тогда выдать ответ. И неужели нужна проверка именно в текущей директории? может можно одним правилом - от корня?
Хотя за пример спасибо, в крайнем случае есть куда копать.
37K
29 ноября 2008 года
Dedignat
13 / / 29.06.2008
 
Код:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   ^.*$   $0   [E=FNE:$0]

RewriteCond   %{ENV:FNE}   ^.+$
RewriteCond %{DOCUMENT_ROOT}/delete/%{ENV:FNE} -f
RewriteRule ^.*$   /delete/%{ENV:FNE}   [L]

Не претендую на совершенность кода.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог