mod_rewrite无法在symfony中的app_dev上运行

时间:2012-05-05 13:53:33

标签: php .htaccess mod-rewrite symfony

我想从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错误页面中的图像也无法加载。

1 个答案:

答案 0 :(得分:2)

如果您在localhost上,那么您应该创建一个虚拟主机localhost.myproject并将web目录设置为DocumentRoot。如果您在共享主机中,请检查我的回答here以获取有效的资产链接。