我找不到问题的回复。我正在努力了解如何在共享主机上部署symfony2应用程序。我知道我应该将我的"web"目录重命名为"public_html",但我在这个目录中有很多网站。我的目录结构如下:
-public_html
-www.firstsite.com
-www.secondsite.com
...
-www.nextsite.com
-private_html
那么我应该把文件放在哪里呢?公共html下的应用程序、src、供应商,以及我应该直接放在"公共html"中的web文件?或者目录web应该在public_html中,而其他文件应该在public_html下?所以我会有:
-public_html
-...
-web
-private_html
-app
-src
-...
编辑:现在我在"public_html/example/"中有了整个应用程序工作正常,但安全吗?
您应该在"public_html"中为新网站创建一个文件夹。假设您拥有域名"example.com"。
您将拥有:public_html/example.com、public_html/example2.com、..
在example.com文件夹中,您将复制以下文件夹:app、src、public。。(Symfony的所有项目主文件夹和文件)。
回答你的问题。"编辑:现在我在"public_html/example/"中有了整个应用程序,它工作正常,但安全吗?"是的,很安全
只要在谷歌上搜索:"防止目录遍历",如果你想确保它是安全的。
另一种解决方案可以是在"public_html"之外的文件夹中安装/部署Symfony,我们将其命名为"Symfony_app"。
然后,您的目录结构可能看起来像这样:
-public_html
-www.firstsite.com
-www.secondsite.com
...
-symfony_app
然后,您应该在"public_html"文件夹中创建Symfony"web"文件夹的符号链接。
例如:
ln -s /home/your_username/symfony_app/web /home/your_username/public_html/www.symfony-site.com
**在创建符号链接之前,名为"www.symfony-site.com"的文件夹不得存在于"public_html"中!
最后一步是在cPanel中添加新的子域。在那里,你应该将你的新子域与"public_html"内的"www.symfony-site.com"符号链接连接起来。