Как мне настроить Caddy и FrankenPHP, чтобы они попробовали каталог для файла php, а затем вернулись в другое место?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как мне настроить Caddy и FrankenPHP, чтобы они попробовали каталог для файла php, а затем вернулись в другое место?

Сообщение 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
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... nd-then-fa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»