2016-11-05 6 views
1

はシンプルな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を再定義するだけですか?

+0

あなたの投稿を編集して正確なコードを投稿できますか?これはおそらく単純なものです。 –

+0

これはとても簡単です。私は文字通りその例を貼り付けてコピーします(もちろんPHPのオープンタグを使用します)。私が実際に書いた唯一のコードは、そこにあるhtaccessファイルです。どんなに私が検索しても、symfonyはWebrootから直接実行されることはほとんどありません(普通のユースケースと思われるので奇妙です)。 –

+0

Apache DocumentRootとして 'web /'フォルダがありますか?あなたが何かを見逃してしまった場合に備えて、あなたがApache VirtualDirectoryの設定や設定を投稿したのはいいでしょう。私は助けようとしているだけです。 –

答えて

1

あなたのコメントが正しければ、あなたが使用する必要があるURLは次のとおりです。

symfony-test.local/web/app_dev.php/lucky/number 

あなたはweb/フォルダとしてのDocumentRootを指定する必要があります!それは通常行われていることです。詳細はこちらをご覧ください: http://symfony.com/doc/current/setup/web_server_configuration.html

関連する問題