|
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
|
||||||
htaccess, CGI, perl + каталог статических файлов18.02.2020, 08:42. Показов 1241. Ответов 9
Метки нет (Все метки)
Имеется хостинг, не особо заточенный под perl. Тем не менее, требуется вкорячить на него, скажем,
%{DOCUMENT_ROOT}/my_app/scripts/myapp можно к примеру так.
определённые файлы в корне, типа yandex123.html доступные по адресу: example.com/yandex123.html и все файлы в папке %{DOCUMENT_ROOT}/my_app/public/ доступные по адресу example.com/public/my.file Понятно, хочется чтобы статические файлы отдавал сам апач. Кстати, скрипт формирует все ссылки в корне сайта. Папки my_app как бы не существует. Сейчас в поиске решения. Ещё напишу. Есть какие-то соображения - напишите пожалуйста.
0
|
||||||
| 18.02.2020, 08:42 | |
|
Ответы с готовыми решениями:
9
Perl + SSI = ошибка invalid CGI ref 'http://сервер/cgi-bin/view_bag.pl' in .... Дебаг Perl CGI cgi-скрипт на Perl'e |
|
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
|
|||||||||||
| 24.02.2020, 12:54 [ТС] | |||||||||||
|
Попробую более предметно:
имеется тестовая среда: CGI-приложение my_app на таком виртуальном хостинге: httpd-vhosts.conf
минимальный рабочий .htaccess в корне сайта: .htaccess
при этом скрипт прозрачно обрабатывает запросы типа my.site/foo/bar ни чем не выдавая наличия каталога /my_app/ Далее, собственно проблема: Хочу )) чтобы все запросы к несуществующему каталогу /public/ Apache прозрачно отрабатывал, как запросы к статическим файлам из каталога /my_app/public/. При этом желательно чтобы Apache на запросы к каталогу /my_app возвращал код 404. Понятно, исходим из того, что к основному конфигу у меня доступа нет.
0
|
|||||||||||
|
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,894
|
||||||
| 24.02.2020, 14:31 | ||||||
|
Корневой каталог сайта по определению является публичным каталогом. Но он не обязательно должен быть "корневым каталогом" всего приложения, а скорее наоборот, т.е. использоваться по своему прямому назначению. Иными словами, корневым каталогом сайта нужно сделать my_app и перенести в него статические файлы "типа yandex123.html" из надкаталога. Если изменить корневой каталог сайта нельзя, вы просто избавляетесь от my_app, поднимая все статические файлы вместе с содержащими их каталогами на один уровень вверх, размещая все служебные и исполняемые файлы в каталоге, находящемся рядом с корневым (из-за технических ограничений в корневом каталоге можно оставить исполняемые файлы, запускаемые непосредственно сервером, например index.pl; их называют точками входа). Обезопасить сайт. авторизация с базой данных в отдельном файле
Внутреннее перенаправление только ради сокрытия my_app - это крайний случай. Я бы даже порекомендовал подыскать другой хостинг, если бы на имеющемся из-за технических ограничений сделать это по-другому было нельзя. Делается примерно так же, как и в предыдущем случае: размещаете в my_app все публичные статические файлы и, возможно, точки входа, а все прочие файлы - вне его. В .htaccess корневого каталога используете примерно такое правило:
Вместо my_app при этом лучше использовать какое-нибудь более сложное имя, чтобы случайно найти находящиеся в нем файлы по адресам /my_app/* было сложно.
0
|
||||||
|
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
|
||||||||||||||||
| 24.02.2020, 15:15 [ТС] | ||||||||||||||||
|
ошибочка,
с приведёнными настройками mod_rewrite не делает внутренний редирект по запросу my.syte/ Поскольку, у меня теперь отладочная среда со всеми опциями отладки mod_rewrite, то хорошо видно, что происходит: error.log
Похоже, после всех проверок apache всё же решает выдать код 403. Упростим начальные настройки: .htaccess
error.log
Добавлено через 9 минут estic, да, в корневом должны лежать статические файлы, но предлагаю с этим потом разобраться. хочу именно с /public ==> /my_app/public в первую очередь разобраться. структура подкаталогов в /my_app предопределена Имя my_app взято для лабораторной-отладочной среды.
0
|
||||||||||||||||
|
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,894
|
||
| 24.02.2020, 15:26 | ||
|
0
|
||
|
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
|
||||||||||||||||
| 24.02.2020, 16:12 [ТС] | ||||||||||||||||
|
проверяю такой вариант
.htaccess
вроде работает, когда файл реально есть в каталоге: error.log
если файла нет, то с этими настройками происходит внутренний редирект на скрипт, что не правильно: error.log
Добавлено через 16 минут estic, спасибо, я читаю но ваш вариант сложно реализовать, так как скрипт уже написан и структура каталогов предопределена. скрипт умеет обрабатывать статические файлы, но отработка на уровне апача всё же быстрее должна быть.
0
|
||||||||||||||||
|
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,894
|
||
| 24.02.2020, 17:24 | ||
|
О чем вы? Я вам не писал, что нужно "обрабатывать статические файлы" скриптом (если речь, конечно, не о выводе оглавления каталога, о чем можно было подумать, глядя на концовку названия темы).
Скрипт не должен основываться на показанном внутреннем перенаправлении. Т.е. это может быть какой-то запасной вариант настройки для разработки или тестирования, но в качестве основного он не подходит. Иными словами, у вашего скрипта либо должна быть возможность реконфигурации под описанный мной основной способ, либо вы просто его неправильно установили/используете. Добавлено через 6 минут
0
|
||
|
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
|
|
| 24.02.2020, 17:52 [ТС] | |
|
На данный момент проблема со случаем когда файла нет, но всё таки не нужно вызывать скрипт, можно сразу вернуть 404.
Сейчас уже вопрос принципиальный, настроить так и понять как вообще это работает. Добавлено через 1 минуту ... на примере понять как работает mod_rewrite. если найду решение, напишу ))
0
|
|
|
1308 / 1000 / 232
Регистрация: 01.10.2018
Сообщений: 3,894
|
|||
| 24.02.2020, 18:25 | |||
|
По идее предопределенная страница ошибки 404 и так должна выдаваться сервером. Или речь о том, что вы получаете ошибку 403 вместо 404? Это, видимо, из-за чего-то лишнего в .htaccess. Добавлено через 1 минуту И не забывайте вставлять обращение или авторское цитирование, если обращаетесь ко мне ![]() Добавлено через 11 минут
0
|
|||
|
52 / 37 / 9
Регистрация: 13.06.2019
Сообщений: 209
|
|||||||||||
| 01.03.2020, 18:44 [ТС] | |||||||||||
|
Народ, если вдруг кому то эта тема интересна,
хотелось бы подитожить свои изыскания. задача была: во-первых, на виртуальном хостингек примеру http://my.site/foo/bar превращался бы во внутренний редирект /my_app/script/my_app/foo/bar где выделен жирным CGI-скрипт во-вторых, скрыть факт размещения статических файлов в подкаталоге скрипта например, запрос http://my.site/public/logo.jpg должен превращаться во внутренний редирект к файлу /my_app/public/logo.jpg это всё решается так /.htaccess
/my_app/script/.htaccess
те ситуации которые не удалось отработать на уровне апача, такие, как прямые запросы к скрипту, или запросы к несуществующим файлам из public/, пришлось отрабатывать в CGI-программе. вот и сказочки конец, а кто слушал - молодец
0
|
|||||||||||
| 01.03.2020, 18:44 | |
|
Помогаю со студенческими работами здесь
10
CGI скрипт на perl Получение IP-адреса в Perl - не CGI Perl в CGI выполнения команд linux CGI (Perl) и ASP. Можно ли их сдружить ? Странное поведение CGI Perl под win32 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|