【问题标题】:Symfony 3.4 located in subdirecory, remove web/ from urlSymfony 3.4 位于子目录中,从 url 中删除 web/
【发布时间】:2018-07-04 12:53:53
【问题描述】:

我在一台服务器上有 3 个 php 应用程序。我不能修改任何 apache 文件。我可以设置 .htaccess 以从 url 中删除 web/ 文件夹吗?

192.168.45.54/app1/
192.168.45.54/app2/
192.168.45.54/app3/web - I want to change it to 192.168.45.54/app3/

在地址 192.168.45.54/app3/web/ 上,everythink 工作正常。但是我怎样才能从 url 中删除 web/?

我创建了 .htaccess 文件:

RewriteEngine On
RewriteBase /app3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]

但是当我在 symfony 日志文件中转到 192.168.45.54/app3/ 时,我遇到了错误:

No route found for "GET /app3/"

我在 3.4 版本中使用 Symfony。我认为问题出在位于 /web 目录中的 .htaccess 中……如何正确配置 .htaccess?

我无法创建虚拟主机,因为我没有访问服务器...

【问题讨论】:

  • 也许你可以符号链接它?
  • 这是一个解决方案,但我需要了解如何通过 .htaccess 制作它

标签: .htaccess symfony


【解决方案1】:

您需要将web/ 目录设为您网站的文档根目录。如果您可以直接访问网络服务器的虚拟主机配置,请将文档根目录更改为以下行并重新启动 Apache:

DocumentRoot /path/to/symfony/web/

如果您不能直接修改虚拟主机文件,您的托管服务提供商通常会为您提供通过某种在线工具修改文档根目录的可能性。

【讨论】:

  • 我知道 DocumentRoot 和 apache 配置。我无权访问服务器的一部分,因为其中的数据受到保护 - 公司政策......而且我无法更改我的网站的根目录,因为在同一主机/域上正在运行其他应用程序,例如:192.168.45.54 /app1/; 192.168.45.54/app2/; 192.168.45.54/app3/; - 这不是我的想法,我也不是改变它的决策者。那么,可以像我在第一篇文章中描述的那样创建 .htaccess 吗?
  • 能否将 Symfony 应用程序安装在当前文档根目录的下一级,并将web/ 目录的内容放入文档根目录?
  • 很遗憾,我无法访问 192.168.45.54/app3/ 以下的目录
猜你喜欢
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
  • 2019-03-08
  • 2013-09-11
  • 2021-04-01
相关资源
最近更新 更多