我想从http://localhost/myproject/web/app_dev.php访问symfony中的http://localhost/myproject。我把它运行起来并运行app.php:
# Works if I call http://localhost/myproject
<IfModule mod_rewrite.c>
Options FollowSymLinks
RewriteBase /myproject/
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/app.php [QSA,L]
</IfModule>
app_dev.php也失败了。我想,无论如何,routing.yml都会加载,因为我没有routing_dev.yml,它应该开箱即用 - 就像我想的那样。但事实并非如此:
# Works not if I call http://localhost/myproject
# Error Message: No route found for "GET /myproject/"
<IfModule mod_rewrite.c>
Options FollowSymLinks
RewriteBase /myproject/
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/app_dev.php [QSA,L]
</IfModule>
为什么?
编辑:
http://localhost/myproject/web/app_dev.php确实有效!
编辑II: 当使用不工作的.htaccess时,symfonys错误页面中的图像也无法加载。
答案 0 :(得分:2)
如果您在localhost上,那么您应该创建一个虚拟主机localhost.myproject
并将web
目录设置为DocumentRoot
。如果您在共享主机中,请检查我的回答here以获取有效的资产链接。