はシンプルなsymfonyがインストール自分を想像して壊していません:symfonyのbaseUrlには、Apacheの書き換えに対応し、すべてのルート
symfony new testsite
さて、これはApacheサーバのWebルート内にある想像してみてください。もちろん、symfonyウェブルートが/web/
フォルダにあるので、これはうまくいきません。
だから、簡単なのRewriteRuleを作り、symfonyのフォルダにhtaccessファイルにドロップ:
RewriteEngine On
RewriteRule ^(.*)$ web/$1 [QSA,L]
そして、これは動作します。やめ!だからあなたは "Create your first page in symfony"ガイドを試して、あなたのコントローラの404ingを見てください!
symfonyはパスの開始から3つの文字を切断されたようなので、それはそうです。少しのデバッグでは、URLの書き換え時に変更されないため、問題の原因となる$_SERVER['SCRIPT_NAME']
からベースURLが取得されていることがわかります。
これを修正する適切な方法はありますか、または私のapp.phpで手動でSCRIPT_NAME
を再定義するだけですか?
あなたの投稿を編集して正確なコードを投稿できますか?これはおそらく単純なものです。 –
これはとても簡単です。私は文字通りその例を貼り付けてコピーします(もちろんPHPのオープンタグを使用します)。私が実際に書いた唯一のコードは、そこにあるhtaccessファイルです。どんなに私が検索しても、symfonyはWebrootから直接実行されることはほとんどありません(普通のユースケースと思われるので奇妙です)。 –
Apache DocumentRootとして 'web /'フォルダがありますか?あなたが何かを見逃してしまった場合に備えて、あなたがApache VirtualDirectoryの設定や設定を投稿したのはいいでしょう。私は助けようとしているだけです。 –