首页 文章

symfony2 app_dev.php route get 404但适用于app.php

提问于
浏览
0

我的apache配置和我的几个symfony项目有问题 .

Debian版本:7.8 apache版本:2.2.22,mpm_prefork

我的vhost配置:

<VirtualHost *:80>
    DocumentRoot /var/www/test/web
    ServerName test.xxx.com
    <Directory /var/www/test/web>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

在我的测试项目中,.htaccess看起来像这样:

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

重写模块被激活(我已经通过.htaccess中的注释重写指令测试了id并调用了我的url) .

当我打电话给prxx网址如test.xxx.com和test.xxx.com/something时,它可以工作 . 但是当我调用app_dev.php url时,前控制器永远不会被执行 . 示例:我调用test.xxx.com/something,apache错误日志说“文件不存在”,我的symfony项目中的dev.log中没有任何日志 .

我不明白为什么在我的开发环境中没有执行前控制器 .

我的app_dev.php文件:

use Symfony\Component\HttpFoundation\Request;
$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';

$kernel = new AppKernel('dev', true);
$kernel->loadClassCache();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

1 回答

  • 0

    请检查symfony 2.8 app_dev.php文件:

    https://github.com/symfony/symfony-standard/blob/v2.8.6/web/app_dev.php

    $loader = require_once __DIR__.'/../app/bootstrap.php.cache'; 成为 $loader = require __DIR__.'/../app/autoload.php';

    require_once __DIR__.'/../app/AppKernel.php'; 消失了

    另外,更改htaccess中的RewriteRule以重定向到app_dev.php而不是app.php

相关问题