У меня есть существующее 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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
FrankenPHP/Caddy под Docker – невозможно использовать cURL с внутренним именем
Anonymous » » в форуме Php - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Caddy PHP fastcgi не передает имя скрипта сервера при использовании handle_path
Anonymous » » в форуме Php - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-