以下是如何使用 Traefik 在子文件夹中运行 Laravel。让我们考虑一下这种情况:
编辑 docker-compose.yml 如下:
services: app: image: your-app-image # ...the rest of the configuration networks: - traefik labels: - traefik.enable=true - traefik.docker.network=traefik - traefik.constraint-label=traefik - traefik.http.middlewares.app-strip.stripprefix.prefixes=/app # HTTP entrypoint - traefik.http.routers.app-http.entrypoints=http - traefik.http.routers.app-http.rule=Host(`your-app-domain.com`) && PathPrefix(`/app`) - traefik.http.routers.app-http.middlewares=https-redirect,app-strip # HTTPS entrypoint - traefik.http.routers.app-https.entrypoints=https - traefik.http.routers.app-https.rule=Host(`your-app-domain.com`) && PathPrefix(`/app`) - traefik.http.routers.app-https.tls=true - traefik.http.routers.app-https.middlewares=app-strip networks: traefik: external: true
编辑 .env 并在 APP_URL 中设置子文件夹。
APP_URL=https://your-app-domain.com/app # ...the rest of the configuration
编辑 app/Http/Middleware/TrustProxies.php 并确保允许所有代理让 Laravel 生成 HTTPS URL。
始终使用 url()、route() 等 URL 帮助器来生成完整的 URL,包括子文件夹路径。
就是这样!现在您可以使用 docker compose up -d 运行您的 compose 文件并通过子文件夹访问您的 Laravel 应用程序。
以上是如何使用 Traefik 在子文件夹中设置 Laravel的详细内容。更多信息请关注PHP中文网其他相关文章!