我的apache配置和我的几个symfony项目存在问题。
Debian版本:7.8 apache版本:2.2.22 with mpm_prefork
我的虚拟主机配置:
<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错误日志说&#34;文件不存在&#34;我的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);
答案 0 :(得分:0)
请检查symfony 2.8 app_dev.php文件:
https://github.com/symfony/symfony-standard/blob/v2.8.6/web/app_dev.php
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/iconToggle"
android:layout_gravity="center"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="TITLE"
android:id="@+id/textViewTitle"
android:layout_gravity="center"
android:lines="1"
android:singleLine="true" />
变为$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
和$loader = require __DIR__.'/../app/autoload.php';
消失
另外,更改htaccess中的RewriteRule以重定向到app_dev.php而不是app.php