繁体   English   中英

有没有一种方法可以从Symfony应用程序的URL中删除“ / web”,而无需将“ web”目录的内容移至根目录?

[英]Is there a way to remove '/web' from url in Symfony application without moving content of 'web' directory to root?

我在使用Symfony创建应用程序时遇到问题,这是URL中出现“ / web”。 我找到了一种方法来解决此问题,方法是将“ web”目录的内容移至根目录。 但是我认为这不是一个好的开发实践,必须有其他方法。 任何人都可以让我知道是否还有其他方法可以像使用htaccess从网址中删除app_dev.php一样来完成此操作?

就我而言,我正在使用wamp服务器并摆脱“ / web”,您需要像这样在httpd-vhosts.conf中配置虚拟主机:

<VirtualHost *:80>
    DocumentRoot C:\wamp\www\YourProjectFolder\web
    ServerName projectName.local
</VirtualHost>

我认为您应该在主机服务器中执行相同的操作。

如果您无法编辑http.conf并且启用了mod_rewrite,只需将.htaccess文件放在文档根目录中,然后将每个请求重定向到/ web文件夹。

RewriteEngine on
RewriteRule ^(.*)$ /web/$1 [L,QSA]

不要从Symfony移动/web文件夹。 您只需要将vhost或Apache默认根目录指向Web目录即可。 例如 :

您可以在httpd.conf进行更改:

# ...
DocumentRoot "your_symfony_folder/web"
<Directory "your_symfony_folder/web">
# ...

您可以在项目根文件夹(如app,bin,src ...等文件夹)中创建一个.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /web/$1 [QSA,L]
</IfModule>

我想你们正在流汗。

如果我错了,请纠正我,但是我设法通过将所有内容都放在根目录内的Web目录中来删除了它。 然后我删除了app_dev.php,并将app.php重命名为index.php。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM