1

継承したウェブサイトを手に入れました。新しいサーバーに移動されたため、Web サイトの管理セクションが機能しなくなりました。リンクをクリックすると 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 とは何の関係もないと思います。

web フォルダには、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" と "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 の以前の設定を確認できます)。

設定.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 を介してキャッシュをクリアします。

何が間違っている可能性がありますか?

4

0 に答える 0