我使用路线名称作为“网站管理员”(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应用程序中的保留关键字。我如何在我的项目中使用此异常。
感谢。
答案 0 :(得分: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
)
答案 1 :(得分:0)
对你的评论作出反应
我没有静态路线作为“网站管理员”。它是在控制器中动态生成的。例如:path:/ {category}
我猜您需要为路线添加前缀。
例如,symfony如何知道www.myapp.com/admin
是否是您的动态路线或标准路线之一?
您需要至少包含/site/{category}