継承したウェブサイトを手に入れました。新しいサーバーに移動されたため、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 を介してキャッシュをクリアします。
何が間違っている可能性がありますか?