在Apache的用户目录下的Symfony 1.4

时间:2011-08-01 19:25:48

标签: apache apache2 symfony1 symfony-1.4 mod-userdir

我有想要在他们的主目录下运行他们自己的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>

1 个答案:

答案 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>

我猜你的摘录路径看起来不太好。尝试一下,让我们知道它是否有效。