我在使用Symfony创建应用程序时遇到问题,这是在url中出现'/ web'。我找到了一种方法来通过将'web'目录的内容移动到根目录来摆脱这种情况。但我认为这不是一个好的开发实践,必须有其他方法。任何人都可以让我知道,如果有其他方式这样做的事情,比如我们使用htaccess从url中删除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文件放在Document根目录中,然后将每个请求重定向到/ 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">
# ...
您可以在项目根文件夹中创建.htaccess(app,bin,src等文件夹在哪里):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /web/$1 [QSA,L]
</IfModule>
我想你们都在大汗淋漓。
如果我错了,请纠正我,但我设法通过简单地将所有内容放在根目录中的web目录中来删除它。然后我删除了app_dev.php,并将app.php重命名为index.php。