我正在尝试在我的 apache 安装上运行 symfony(我正在使用 xampp 作为整个软件包),并且每次我尝试访问我的网站时它都会给我 403 错误。
我已经设置了虚拟主机,如下所示:
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/opt/lampp/htdocs"
DirectoryIndex index.php
<Directory "/opt/lampp/htdocs">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName servername.localhost
DocumentRoot /home/me/web/server/web
DirectoryIndex index.php
Alias /sf "/lib/vendor/symfony/data/bin/web/sf"
<Directory "/home/me/web/server/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
<Directory "/lib/vendor/symfony/data/bin/web/sf">
Allow from All
</Directory>
我还在我的 hosts 文件中添加了“127.0.0.1 servername.localhost”。
当我尝试访问“servername.localhost”时,它只给出了 403 错误。我已将 symfony 目录和我的主目录中的网站目录 chmod 为 777,并使用“./symfony project:permissions”让 symfony 检查权限是否设置正确,但仍然没有结果。
如果我将我的网站目录移动到“/opt/lampp/htdocs”,那么它将从那里提供服务,但仍然无法访问 symfony 的内容,例如调试工具栏。
任何帮助,将不胜感激。
答案1
Symfony 需要一些重写规则,我不明白为什么 .htaccess 不存在,除非您删除它 - mod_rewrite 是否启用?
答案2
403 通常是禁止浏览目录(检查 Apache 的错误日志应该可以证实这一点)。
您的目录中是否有默认文档(index.php)/home/me/web/server/web
?
您已将 Symfony 别名为/sf
,因此您必须点击http://servername.localhost/sf
来访问它,而不是顶层http://servername.localhost/
。