0

我尝试在我的服务器上运行 Mezzio 应用程序我执行以下步骤: - 创建 Mezzio 项目

composer create-project mezzio/mezzio-skeleton symphonie

我选择模块化应用程序、快速路由器、服务管理器、板块渲染器和哎呀我这样创建我的虚拟主机:

<VirtualHost *:80>
        Alias /symphonie "/data/symphonie/public"
    <Directory "/data/symphonie">
        Options Indexes MultiViews FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

但是,当我在 Google Chrome 中输入此网址时:https ://app.inra.fr/symphnie/我收到 404 错误。我在 apache 日志中没有消息。通过 cons 页面上的所有链接将我重定向到https://app.inra.fr/而不是https://app.inra.fr/symphnie/ 这是我服务器的配置:

  • Centos 8
  • 启用了重写模块的 Apache 2.4
  • PHP 7.3

你有什么线索可以解决我的问题吗?

提前致谢

石狮

4

1 回答 1

2

Mezzio 应用程序没有对基本路径的内置支持。

您需要处理以下方面:

  • Web 服务器重写子文件夹。看起来你做了那部分。
  • 中间件需要尽早通过管道从请求对象中删除基本路径,然后再进一步传递它
  • 基本路径 url 助手。
    Mezzio 在mezzio/mezzio-helpers包中提供了 url 助手。上一步中的中间件也可用于将基本路径注入 url 帮助程序。如果您的某些中间件使用不同的方式来处理 url,那么这些中间件也需要进行设置。

Mezzio 文档有涵盖此用例的页面: https
://docs.mezzio.dev/mezzio/v3/cookbook/using-a-base-path/ 它不是太详细,欢迎提出改进它的请求;)

于 2020-03-27T06:49:47.510 回答