我在共享主机上设置Symfony2项目,但我遇到了一些问题。 Symfony2默认情况下在index.php
目录中有调度控制器或主文件(许多系统中的文件是/web
),所以如果我将所有项目移动到共享主机上的public_html
那么它在我将/web
追加到URL的末尾之前,我一直都行不通。这对用户来说是糟糕的,因为他们知道域名的页面。我尝试使用.htaccess
进行重定向,如下所示:
//301 Redirect Entire Directory
RedirectMatch 301 /(.*) /web/$1
//Prevent directory listings
Options All -Indexes
但它没有工作,因为托管说.htaccess文件中的这些行是坏的,那我怎么能解决这个问题呢?
答案 0 :(得分:1)
在root .htaccess中,您可以使用此mod_rewrite
规则:
//Prevent directory listings
Options All -Indexes
RewriteEngine On
RewriteRule ^((?!web/).*)$ /web/$1 [L,NC,R=301,NE]
答案 1 :(得分:0)
你知道什么时候你买了一些托管,你在你最喜欢的客户端制作了第一个FTP吗?
您可能会看到以下内容:
/
ftp/
httpdocs/
access_log.txt
此方案中的web/
目录是httpdocs/
。有时,目录名为public_html
,www
或html
。
他们在一天结束时都是一样的。
在您的symfony项目中,app/
,src/
,vendor/
目录应该位于公共根目录之后。
通常,在受控服务器上,您可以创建指定文档根目录的虚拟主机。但是,如果您尝试上传网站,请将所有内容移至父目录,并将网络目录重命名为设置使用的服务器。