0

Isapi リライトがインストールされた Win XP / IIS 7 マシンに Symfony プロジェクトがあります。フロントエンド (メイン) アプリケーションに移動すると、ルーティングが機能しないようです。は常にデフォルトのモジュール/アクションに行き着きます。ただし、no_script_name = off(アプリの settings.yml ファイルで)有効にすると、すべて正常に動作します。プロジェクトの一部として管理アプリもあり (これにもありますno_script_name = off)、これも正常に機能します。これは単純な問題のように思えますが、これに 4 時間も取り組んできました。どんな助けでも大歓迎です、ありがとう。

編集: デバッグ ツールバーを使用するために、フロント コントローラーの環境を dev に変更したところ、URL がどのように見えても、常に次のように表示されることがわかりました。

パラメータ配列 ( 'module' => 'default', 'action' => 'index',) を持つ / のルート "ホームページ" (/) に一致します。

私が何をしても、モジュールは常にデフォルトと同じです

4

3 に答える 3

1

IISはURL書き換えをあまりサポートしていません。これは、Symfonyのルーティングが機能するための要件です。基本的に、ウェブサーバーは、存在しないファイル/パスへのすべてのリクエストをSymfonyのindex.phpにリダイレクトし、リクエストされた元のURLを渡します。symfonyはこのURLをデコードし、そのルーティングルールを適用します。

しかし、それは可能です。これに従う必要があります:IIS上のSymfony

于 2009-11-18T10:33:45.513 に答える
1

IIS 用の新しい Url Rewrite モジュールを確認してください。

http://learn.iis.net/page.aspx/734/url-rewrite-module/

mod_rewrite ルールをインポートして変換するツールを IIS マネージャーに追加します。

于 2010-05-24T15:51:54.797 に答える
1

私は解決策を見つけました。このコードを index.php の先頭に追加しました

$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];

Symfony on IIS チュートリアル ( http://trac.symfony-project.org/wiki/symfonyOnIIS ) 内のすべてを試しましたが、違いはありませんでした。他の誰かがこの問題に遭遇した場合は、設定や .htaccess ルールを変更する前に、まず上記のコードを追加してみてください。

于 2009-11-19T18:38:46.220 に答える