3

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

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

登录:

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

当我使用 /

它正在显示我的项目主页,但是当我单击登录或注册按钮时,它会生成 url /login 并显示

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

我想在用户单击 / 时立即在 symfony2 中创建一个默认索引页面。

这是我的虚拟主机设置

名称VirtualHost 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

4

1 回答 1

8

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

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

进入:

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

但也许更容易(如果您可以访问适当的配置)更改您的虚拟主机设置。只需添加app.phpDirectoryIndex指令。

于 2013-05-29T14:28:57.453 回答