子页面不适用于产品环境。路由有问题吗?

时间:2015-04-04 11:47:53

标签: php symfony

我有问题连接到prod上的一些网站。 当我尝试访问本地的地址时 http://localhost:1337/zespol_noico/web/app_dev.php/formularz/kontakt 它有效,

http://localhost:1337/zespol_noico/web/formularz/kontakt 作品。

在服务器上: http://dreamwebstudio.pl/works/zespol/web/app_dev.php/formularz/kontakt 作品 但是prod网站 http://dreamwebstudio.pl/works/zespol/web/formularz/intro 不行。 404 Not Found. The request /works/zespol/web/formularz/intro was not found on this server. 我不知道为什么。如果有人问我,我清除了prod缓存。我想提一下主页http://dreamwebstudio.pl/works/zespol/web/运行正常。 在默认控制器中我的注释:

/**
 * @Route("/formularz/muzyka", name="formularz_muzyka")
 * @Template()
 */
public function muzykaAction(Request $Request){
    $Repo = $this->getDoctrine()->getRepository('MyFrontendBundle:Muzyka');
    $Register = $Repo->find("1");

    $form = $this->createForm(new MuzykaEditType(), $Register);
    $form->handleRequest($Request);
    $Muzyka = new MuzykaEditType();

    if ($Request->getMethod() == 'POST') {
        if ($form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($Register);
            $em->flush();
        }
    }
    return array(
        'form' => $form->createView(),
    );
}

1 个答案:

答案 0 :(得分:0)

我在symfony2 rewrite rules .htaccess app.php找到了解决方案 对我来说问题是我把代码放在.htaccess主目录而不是../ web / .htaccess

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    # Explicitly disable rewriting for front controllers
    RewriteRule ^app_dev.php - [L]
    RewriteRule ^app.php - [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    # Change below before deploying to production
    #RewriteRule ^(.*)$ app.php [QSA,L]
    RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>