访问我网站的管理部分时出现403错误

时间:2013-06-03 03:25:01

标签: symfony1 symfony-1.4

我有一个我继承的网站。它已被移动到新服务器,现在网站的管理部分不起作用。点击链接后,我得到403.

浏览器上的

错误消息

Forbidden

You don't have permission to access /admin.php/main/index on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

似乎ErrorDocument是一个symfony函数,所以我认为这个错误与Apache无关。

在网络文件夹中,有一个admin.php和admin_dev.php。

admin.php的

<?php


require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

$configuration = ProjectConfiguration::getApplicationConfiguration('admin', 'prod', false);
sfContext::createInstance($configuration)->dispatch();

admin_dev.php

<?php

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

$configuration = ProjectConfiguration::getApplicationConfiguration('admin', 'dev', true);
sfContext::createInstance($configuration)->dispatch();

如您所见,唯一的区别是环境名称(“prod”vs“dev”,最后一个值用于调试(根据http://www.symfony-project.org/api/1_1/sfProjectConfiguration#method_getapplicationconfiguration)。

我将admin_dev.php的内容复制到了admin.php。并且刷新了我的管理页面和403消失了,尽管顶部有开发工具栏。我将“dev”更改为“prod”并将调试保持打开然后再刷新我的页面,这次我获得了403.

我查看了settings.yml并将dev部分的内容复制到prod部分。

但这没有做任何事情。刷新页面后仍然获得403。

这是settings.yml的新内容(你可以看到我注释掉的prod之前的设置)。

settings.yml中

# You can find more information about this file on the symfony website:
# http://www.symfony-project.org/reference/1_4/en/04-Settings
#  .settings:
#    no_script_name:         false
#    logging_enabled:        false
prod:
#  .settings:
#    no_script_name:         false
#    logging_enabled:        false
  .settings:
    error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
    web_debug:              true
    cache:                  false
    no_script_name:         false
    etag:                   false

dev:
  .settings:
    error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
    web_debug:              true
    cache:                  false
    no_script_name:         false
    etag:                   false

test:
  .settings:
    error_reporting:        <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>
    cache:                  false
    web_debug:              false
    no_script_name:         false
    etag:                   false

all:
  .settings:
    # Enable sfGuard
    enabled_modules:      [default, sfGuardGroup, sfGuardUser, sfGuardPermission, sfGuardAuth]
    # Form security secret (CSRF protection)
    csrf_secret:            10fee9ab83d0083fb244e5e087afab5fe684cb64
    login_module:           sfGuardAuth
    login_action:           signin

    secure_module:          sfGuardAuth
    secure_action:          secure

    # Output escaping settings
    escaping_strategy:      true
    escaping_method:        ESC_SPECIALCHARS

    # Enable the database manager
    use_database:           true

每次我更改服务器上的文件时,都会通过symfony cc清除缓存。

任何想法可能出错?

0 个答案:

没有答案