我有想要在他们的主目录下运行他们自己的Symfony项目的用户,但我不能让Symfony正常工作。在我的Apache2配置文件中,我将userdir设置为:
UserDir sfproject / web
但DocumentRoot必须是:
的/ var / WWW / sfproject /网络
这个要求就在那里,因为当我们将代码部署到生产环境时,我们不想更改Apache配置文件。一切都将在那个目录下。
问题是当我们转到用户目录时:dev.server.com/~asdf
Symfony给出了404错误:解析URL“/index.php”后空模块和/或操作。(/)。
我不明白什么是错的。我们希望他们在他们的主目录中看到他们的个人项目。我看了一些其他人在共享托管环境中设置Symfony,但这不是共享托管环境。这是一个专用服务器,我有root。谢谢您的帮助。以下是我的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>
答案 0 :(得分:0)
我认为以下内容更接近解决方案。
<VirtualHost *>
DocumentRoot "/var/www/sfproject/web"
DirectoryIndex index.php
<Directory "/var/www/sfproject/web">
AllowOverride All
Allow from All
</Directory>
# or is the dir /usr/share/php/data/symfony/data/web/sf ?
Alias /sf /usr/share/php/data/symfony/lib/vendor/symfony/data/web/sf
<Directory "/usr/share/php/data/symfony/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
我猜你的摘录路径看起来不太好。尝试一下,让我们知道它是否有效。