将app.php重命名为index.php,使所有路由在symfony2中不起作用

时间:2013-05-29 11:00:18

标签: symfony symfony-2.1

我已将app.php重命名为index.php,其中routing.yml包含以下路由 指数:

pattern:   /
defaults:  { _controller:RepairLoginBundle:home:home}

登录:

pattern:   /login
defaults:  { _controller:RepairLoginBundle:Login:login}

当我使用/

它显示我的项目主页但是当我点击登录或注册buuton时它会生成url / login并显示

在此服务器上找不到请求的URL / rpair / login /。

我想在用户点击/.

后立即在symfony2中创建默认索引页面

这是我的虚拟设置

NameVirtualHost 10.70.10.56

ServerName repair.com

DocumentRoot "/var/www/repair"
<Directory "/var/www/repair">
   DirectoryIndex app.php
    AllowOverride All
    Order allow,deny
    Allow from all
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
    RedirectMatch permanent ^/app\.php/(.*) /$1
</Directory>

htaccess的:     选项+ 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]

RedirectMatch永久性^ / app.php /(.*)/ $ 1

1 个答案:

答案 0 :(得分:8)

如果您将app.php重命名为index.php,您还需要更改(在web/.htaccess文件中):

RewriteRule ^(.*)$ app.php [QSA,L]

成:

RewriteRule ^(.*)$ index.php [QSA,L]

但也许更容易(如果您可以访问appropraite配置)更改您的vhost设置。只需将app.php添加到DirectoryIndex指令。