我有一些用户想要在他们的主目录下运行他们自己的 Symfony 项目,但我无法让 Symfony 正常工作。在我的 Apache2 配置文件中,我将 userdir 设置为:
用户目录 sfproject/web
但是 DocumentRoot 必须是:
/var/www/sfproject/web
有这个要求是因为当我们将代码部署到生产环境时,我们不想更改 Apache 配置文件。一切都将在该目录下。
问题是当我们进入一个用户目录时:dev.server.com/~asdf
Symfony 在解析 URL “/index.php” (/) 后给出 404 错误:空模块和/或操作。
我不明白出了什么问题。我们希望他们在他们的主目录中看到他们的个人项目。我查看了其他一些人在共享主机环境中设置 Symfony,但这不是共享主机环境。这是一个专用服务器,我有根。感谢您的帮助。这是我的 Apache 配置的相关部分:
UserDir sfproject/web
<Directory "/usr/share/php/data/symfony/web/sf">
AllowOverride All
Allow from All
</Directory>
<VirtualHost *>
DocumentRoot "/var/www/sfproject/web"
DirectoryIndex index.php
<Directory "/var/www/sfproject/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf /usr/share/php/data/symfony/web/sf
<Directory "/usr/data/symfony/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>