0

我将路由名称用作“webmaster”(www.domain.com/webmaster),symfony 向我显示如下错误:

NotFoundHttpException:找不到“GET master”的路由

我的 htacces 是:

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

我知道,“web”是 Symfony2 应用程序中的保留关键字。我如何在我的项目中使用这个异常。

谢谢。

4

2 回答 2

3

Symfony 的web目录应该是您站点的文档根目录,因此,不需要包含在路径中作为重写规则的基础。

所以,假设你的.htaccess文件位于PROJECT_ROOT/web/.htaccess那么所有应该需要的就是这个

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]

同样,这假设您已将 Apache 设置为指向PROJECT_ROOT/web站点的文档根目录(PROJECT_ROOT类似于的位置/var/www/vhosts/symfony_project

于 2013-10-28T15:20:28.540 回答
0

回应您的评论

我没有作为“网站管理员”的静态路由。它是在控制器中动态生成的。例如:路径:/{category}

我猜你需要为你的路线添加一个前缀。例如,symfony 如何知道www.myapp.com/admin一条路由是您的动态路由之一还是标准路由?您至少需要有一个前缀,例如/site/{category}

于 2013-10-28T15:47:21.833 回答