У меня есть существующее PHP-приложение, которое я встраиваю в новый образ Docker с помощью FrankenPHP, основанного на Caddy.
Я хочу, чтобы запросы попадали в /api /[file.php] сначала попробуйте в /app/public/html/api/[file.php]. Если файл не существует, используйте вместо него /app/public/addons/[file.php].
Это кажется простой идеей, но я не могу похоже, это работает.
Происходит следующее: когда я помещаю тестовый файл, содержащий "", в /app/public/ addons/api/test.php
И используйте httpie для запроса через:
http http://localhost:8080/api/test.php
Ответ 404 от Caddy. Однако файлы, помещенные в /app/public/html/api/, обнаруживаются сервером и обрабатываются с помощью кода ответа 200.
Я впервые использую Caddy и FrankenPHP.
Любые предложения приветствуются. Это просто очень старое приложение, и оно не поддерживает маршрутизацию всего через index.php. Он не использует какие-либо рамки. Конечно, изменить его возможно.
Вот мой Caddyfile
:8080 {
log {
level DEBUG
}
root * /app/public/html
encode zstd br gzip
route /healthcheck {
respond "Server is up" 200
}
route /api/*.php {
@indexFiles file {
try_files html/{path} /app/public/addons/{path}
}
rewrite @indexFiles {http.matchers.file.relative}
@phpFiles path *.php
php @phpFiles
file_server
}
route {
# Add trailing slash for directory requests
@canonicalPath {
file {path}/index.php
not path */
}
redir @canonicalPath {path}/ 308
## If the requested file does not exist, try index files
@indexFiles file {
try_files {path} {path}/index.php
split_path .php
}
rewrite @indexFiles {http.matchers.file.relative}
# FrankenPHP!
@phpFiles path *.php
php @phpFiles
file_server
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... nd-then-fa
Как мне настроить Caddy и FrankenPHP, чтобы они попробовали каталог для файла php, а затем вернулись в другое место? ⇐ Php
Кемеровские программисты php общаются здесь
1727724674
Anonymous
У меня есть существующее PHP-приложение, которое я встраиваю в новый образ Docker с помощью FrankenPHP, основанного на Caddy.
Я хочу, чтобы запросы попадали в /api /[file.php] сначала попробуйте в /app/public/html/api/[file.php]. Если файл не существует, используйте вместо него /app/public/addons/[file.php].
Это кажется простой идеей, но я не могу похоже, это работает.
Происходит следующее: когда я помещаю тестовый файл, содержащий "", в /app/public/ addons/api/test.php
И используйте httpie для запроса через:
http http://localhost:8080/api/test.php
Ответ 404 от Caddy. Однако файлы, помещенные в /app/public/html/api/, обнаруживаются сервером и обрабатываются с помощью кода ответа 200.
Я впервые использую Caddy и FrankenPHP.
Любые предложения приветствуются. Это просто очень старое приложение, и оно не поддерживает маршрутизацию всего через index.php. Он не использует какие-либо рамки. Конечно, изменить его возможно.
Вот мой Caddyfile
:8080 {
log {
level DEBUG
}
root * /app/public/html
encode zstd br gzip
route /healthcheck {
respond "Server is up" 200
}
route /api/*.php {
@indexFiles file {
try_files html/{path} /app/public/addons/{path}
}
rewrite @indexFiles {http.matchers.file.relative}
@phpFiles path *.php
php @phpFiles
file_server
}
route {
# Add trailing slash for directory requests
@canonicalPath {
file {path}/index.php
not path */
}
redir @canonicalPath {path}/ 308
## If the requested file does not exist, try index files
@indexFiles file {
try_files {path} {path}/index.php
split_path .php
}
rewrite @indexFiles {http.matchers.file.relative}
# FrankenPHP!
@phpFiles path *.php
php @phpFiles
file_server
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79037910/how-i-configure-caddy-frankenphp-to-try-a-directory-for-a-php-file-and-then-fa[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия