我是Symfony的全新,因此,毫无疑问,这个问题会令人讨厌。您如何使Symfony与XAMPP一起使用?我已经阅读了用于配置Apache的Symfony文档,但无法了解它的正面或反面。
XAMPP项目存储在单个/htdocs
目录中。每个项目都有其自己的子文件夹,并且可以通过以下URL访问:http://localhost/project_folder
。至少,这就是我一直这样做的方式。
我的问题是:Symfony的不同之处在于其根目录不是前置的。换句话说,要实际访问Symfony 4网站,您需要导航到/public
目录。但是,由于我的本地XAMPP(即Apache)服务器配置为使用单个DocumentRoot(/xampp/htdocs
),因此除非我手动将/public
附加到URL,否则无法访问我的Symfony项目。
http://localhost/symfony_project_folder
http://localhost/symfony_project_folder/public
我不想为单个Web应用程序设置完全独立的本地服务器,也不想处理与其他项目所使用的URL结构完全不同的URL结构。
如何在此环境中配置Symfony 4或Apache以正确路由到/public
?
谢谢您的帮助。
答案 0 :(得分:0)
您好,当您创建新的symfony项目时,您需要更改公用文件夹中域的文档根目录。使用symfony的一个好方法是使用docker,它可以帮助您使项目分离,并且可以使用phpdocker.io生成docker配置,从而非常快速地开始使用docker。 无论如何,这是symfony手册中有关如何设置虚拟主机的示例。
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/project/public
<Directory /var/www/project/public>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeeScript assets
# <Directory /var/www/project>
# Options FollowSymlinks
# </Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>
您可以了解有关Web服务器配置here
的更多信息