我在使用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文件,并将每个请求重定向到/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.