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

Ваш аккаунт

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

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

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

Подскажите как в .htaccess сделать перенаправление

1.9K
05 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Суть проблемы такова: идет обращение к файлу, напирмер так http://site123.net/content/logo.gif
Реально нет такой директории. Но файл есть и лежит он в директории content/logo.gif в самом корне сервера (а не сайта), чтобы нелязя было обратиться напрямую к директории content.

Нужно настроить .htaccess файл так, чтобы при запросе файла logo.gif взялся файл из ../content/logo.gif, т.е. из корня сервера.

Возможно создать php скрипт, который будет через ModRewrite запускать обработчик и выдавать этот файл. Однако нужно чтобы сам сервер понимал что файл лежит в директории нижнего уровня и обращался к файлу ка бы по ссылке (при этом нагрузка на сервер не должна быть большой, как при запуске скрипта).

Если что следует пояснить - говорите.
7.3K
06 ноября 2006 года
JB13
64 / / 05.09.2005
Попытался обратиться к файлу за директорией сервера через mod_rewrite, выдал такую ошибку "Your browser sent a request that this server could not understand" :)
Поэтому видимо все же придется через php скрипт + mod_rewrite. Хотя может кто знает как это сделать по другому?
8
06 ноября 2006 года
mfender
3.5K / / 15.06.2005
mod_rewrite перенаправляет запрос по тому же http-протоколу. Поэтому пытаться обратиться непосредственно к файлу - глухой номер. Нужно обращаться к скрипту, который выдаст этот файл.

Простейший пример:

В файле probe.htm пишем:
 
Код:
define("FILES_SOURCE_DIR", "/home/account/sourceimages/");
echo (file_get_contents(FILES_SOURCE_DIR . $_GET['file']));


В .htaccess, соответственно пишем RewriteRule ^(.*)probe_(.*)$ $1probe.htm?file=$2 , предполагая, что файлы будут вызываться URL'ом http://domain.do/probe_image.jpg Разумеется, в дирректории должен существовать файл image.jpg
1.9K
06 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
mfender, спасибо за ответ. Однако мне нужно чтобы шел запрос к файлу с таким же именем, что и файл в корневой директории сайта.

Т.е. мне нужно обращаться к http://site.gde/content/image.jpg и получать выводить файл /home/account/sourceimages/image.jpg
А если уж обращение будет идти к http://site.gde/content/ то выдастся всем знакомый "404 страница не найдена". Это позволит мне защищать директории от сканирования, и в то же время получать файл только по его точному имени.

Если уж прийдется использовать PHP, то меня беспокоит следующее. Ведь запрос любого файла картинки (и других назначенных расширений) meltn вестись через скрипт - что даст хорошую (как я думаю)нагрузку на сервер. При этом перед выдачей файла будет происходить его считваение в память целиком (например все 700 Мб). Хотя я слышал о file_get_contents() который как-то другим способом выполняет вывод файла в поток. Прошу дать мне сведения о данной функции пожалуйста.

Спасибо ребята, что откликнулись. Я вам очень благодарен!
8
06 ноября 2006 года
mfender
3.5K / / 15.06.2005
Ещё раз: по http-протоколу невозможно обратиться к файлу за корнем http-сервера. Если хочешь сделать так, как хочешь, то ложи файлы в пределах сервера, только разреши к ней доступ только серверу. И всё получится как ты хочешь без отдачи файлов скриптом.
1.9K
06 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
mfender, нужно именно в корне сервера чтобы лежали файлы. Такова задумка.
Спасибо за совет.
А по тому, что скрипт будет отдавать файл через себя (прокачка через скрипт) - это грузит систему сильно?
8
06 ноября 2006 года
mfender
3.5K / / 15.06.2005
Смотря что скрипт будет делать. Одно дело в поток файл выкинуть, другое если картинку GD2 будет из кусков собирать... Но нагрузка фактически одинаковая... У меня, например, на страницу GD выкидывает картинок по двадцать зараз, которые уменьшает до нужных размеров из метровых оригиналов, лепит туда логотипы из png и всё это по времени никак не больше, чем ежели готовые thumbnails выдавались браузеру прямо с диска. На нагрузку хостёры тоже не жаловались.
1.9K
06 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Спасибо.
Я все же хочу найти менее ресурсоемкий способ, например путем создания символических ссылок (или что-то типа того). Может кто подскажет :)
13
07 ноября 2006 года
RussianSpy
3.0K / / 04.07.2006
Клиника как обычно...
8
07 ноября 2006 года
mfender
3.5K / / 15.06.2005
[quote=eliteMOBILE.net]нужно именно в корне сервера чтобы лежали файлы. Такова задумка.[/quote]

Не ищем лёгких путей? Нужно себе же жизнь усложнить? А смысл? Можно ведь и с горки на ногах котаться - на лыжах-то и дурак сможет...:D
1.9K
07 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
[QUOTE=mfender]Не ищем лёгких путей? Нужно себе же жизнь усложнить? А смысл? Можно ведь и с горки на ногах котаться - на лыжах-то и дурак сможет...:D[/QUOTE]

Поймите, что я делаю весьма сложную и важную систему, поэтому мне нужго решить данную пролему или найти другой выход. На данный момент я ищу целесообразные пути решения этой задачи, и при этом не спрашиваю о том, оправдано это решение или нет - я сам прийму такое решение
8
07 ноября 2006 года
mfender
3.5K / / 15.06.2005
[quote=eliteMOBILE.net]Поймите, что я делаю весьма сложную и важную систему, поэтому мне нужго решить данную пролему или найти другой выход. На данный момент я ищу целесообразные пути решения этой задачи, и при этом не спрашиваю о том, оправдано это решение или нет - я сам прийму такое решение[/quote]
Я даже понимаю. Но выше головы не прыгнешь. Есть вещи, придуманные до нас ("всё украдено до нас" (с)) и нужно следовать им.
Я не вижу траблы в директориях внутри v-серванта. С помощью htaccess они защищаются ничуть не хуже, чем директории за его пределами.
1.9K
07 ноября 2006 года
eliteMOBILE
89 / / 27.01.2005
Спасиюбо за помошь. Буду думать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог