最も簡潔な方法使用している場合のみ:のSymfony 1.4ルーティングの問題の手で問題を要約するのindex.phpとmod_rewriteの
開発が終わって、そしてすべてのものが開発中frontend_dev.phpに対して実行し、
をテストしていたがこれは、すべてのURLがあったことを意味しますserver.com/frontend_dev.php/module/action/parm
は環境を切り替え、生産手段への移行、そしてthusly INDEを使用してx.php代わり
server.com/index.php/module/action/parm生産への移行の一部は、URLの「index.phpを」の部分が消える作るためにApache2の下のmod_rewriteを使用しています:まだ
server.com/module/action/parmはまだURLが実際のindex.php部分O/W登場しているが、symfonyのルーティングが今不平を言っているのindex.phpに対して送られ、機能して
つまり、goal/indexにルーティングするserver.com/goals
[火12月:(リライトを介して)明示的なコントローラを使用していない - -
server.com/index.php/goals明示的なコントローラとしてfrontend_dev.phpまたはindex.phpをを使用して完全に細かいです14十二時59分51秒2010] [エラー] [クライアント75.16.181.113]空のモジュールおよび/またはアクションURLを解析した後、 "/目標/"(/)
私は書き換えが実際にある確認しました書き換えを存在しないものに変更してindex.phpにルーティングする:
[2010 12月14日午後01時05分43秒火] [エラー] [クライアントは75.16.181.113] '/opt/www/projects/adam/web/index2.php' スクリプトが見つからないか、できない
のstatします私はfrontend_dev.phpへの経路変更を試みましたが、symfonyからより多くのデバッグ情報が提供されていますが、どれも有用ではありません:
404 |見つからない| sfError404Exception "/ goals /"(/)URLを解析した後のモジュールまたはアクションが空です。
SF_SYMFONY_LIB_DIR /コントローラ/ sfFrontWebController.class.phpライン44における スタックトレースで
1()... sfFrontWebController-で
2>ディスパッチ()SF_SYMFONY_LIB_DIR/UTIL/sfContext.class.phpライン170インチ.. SF_ROOT_DIR /ウェブ/ frontend_dev.phpライン13でsfContext-で
3>派遣()...
私は.htaccessファイル内でRewriteBaseオプションを使用してみましたが、それはいずれも解決しません、コントローラの設定行でtrue/falseを変更することはありません。
なぜ私たちが混乱しているのか、私たちを解決に導くことができるかを理解するのに十分です。
以下は現在のものです。htaccessファイルとインデックス/フロントエンドの設定行
のindex.php:
$構成=にProjectConfiguration :: getApplicationConfiguration( 'フロントエンド'、 'PROD'、false)を;
Frontend_dev.php:
$構成=にProjectConfiguration :: getApplicationConfiguration( 'フロントエンド'、 'DEV'、TRUE);
.htaccessファイル:あなたが #RewriteBase /私たちはすべてスキップ
#を仕事にトラブル #取得no_script_nameを持っている場合は
#オン
RewriteEngineは、次の行のコメントを解除しました。somethingのファイル #RewriteCond%{REQUEST_URI} .. + $ #RewriteCond%{REQUEST_URI}!!.html $ #RewriteRule * - [L] .htmlのバージョンはここ(キャッシュ) するRewriteRule^$ index.htmlの[QSA] のRewriteRule ^([^。] +)$ $ 1.htmlであれば、我々はチェック
# [QSA] するRewriteCondの%{REQUEST_FILENAME}!-f
#いいえ、私たちはフロントウェブコントローラ するRewriteRule ^にリダイレクト(。*)$のindex.phpを[QSA、L]
リクエストが正しく書き換えられたときにsymfonyがルートを不満に感じるのは奇妙なようです - あなたはindex.php経由であなたのブラウザに直接ルート設定をダンプしようとしましたか?キャッシュを手動でクリアすることは可能でしょうか?また、index2.phpに書き直して、クエリを出力させてください。 – cvaldemar
routing.ymlを投稿できますか? – Vojta