.htaccess 子矩形中的Symfony项目-处理它的最佳方法

.htaccess 子矩形中的Symfony项目-处理它的最佳方法,.htaccess,symfony,mod-rewrite,frameworks,symfony1,.htaccess,Symfony,Mod Rewrite,Frameworks,Symfony1,我正试图为这一要求找到一个可行的解决方案: 无法将文档根配置为/web/ 项目安装在变量目录中,例如example.com/helloworld 这样安装symfony的最佳方法是什么 目前,我正在尝试在安装symfony的目录/helloworld中创建一个.htaccess。如果/helloworld/web中不存在请求,则该文件应将所有请求重定向到/helloworld/web/app.php。但这是一个非常费力的实现,因为您还必须检查/web/目录在URL中是否可见,如果可见,请将其删除

我正试图为这一要求找到一个可行的解决方案:

无法将文档根配置为/web/ 项目安装在变量目录中,例如example.com/helloworld 这样安装symfony的最佳方法是什么

目前,我正在尝试在安装symfony的目录/helloworld中创建一个.htaccess。如果/helloworld/web中不存在请求,则该文件应将所有请求重定向到/helloworld/web/app.php。但这是一个非常费力的实现,因为您还必须检查/web/目录在URL中是否可见,如果可见,请将其删除,以便用户永远不会在URL中看到/web,以防止重复内容。此外,还必须使用动态基本路径,因为不知道symfony项目安装在哪个子目录中:

 RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
 RewriteRule ^(.*)$ - [E=BASE:%1]

所以我想知道你们是怎么处理的

您根本无法更改站点的根目录吗?我不喜欢您的建议的原因是,项目的所有目录都将驻留在document_root中,默认情况下,document_root是可公开访问的。但是,您可以更改项目根目录,但您需要在根目录下安装一级项目。我可以这样做,但我必须在域子目录中实现一个symfony项目。我知道理论上所有文件都是公开的,但我会用htaccess隐藏它们。所以现在的问题是symfony只有在设置文档的根时才起作用。但我想让它在域的子目录中可用。