1

ウェブサイトを立ち上げました。registerなどのリンクをクリックしようとすると、次のエラーが表示されます。

404 | Not Found | sfError404Exception
Empty module and/or action after parsing the URL 
    "/trevelyan.alumni/register" (/).

リンクは次を使用して生成されます

<?php 
    print link_to( 'Register', 'register/index' ); 
?>

そして、apps/frontend/modules/register に「登録」モジュールがあります。

私は Symfony の初心者です。


ルーティング.yml:

# default rules
homepage:
  url:   /
  param: { module: home, action: index }

default_index:
  url:   /:module
  param: { action: index }

default:
  url:   /trevelyan.alumni/:module/:action/*
4

7 に答える 7

1

あなたの問題は、「ルート」URLから直接ではなく「サブサイト」からsymfonyを実行していることだと思います(httpではなくhttp://www.dur.ac.uk/trevelyan.alumni: //www.dur.ac.uk/)。trevelyan.alumni最も簡単な解決策は、routing.ymlのすべてのURLの前に追加することだと思います。

たとえば、defaultルートではなく

default:
  url: /:module/:action/*

使用する

default:
  url: /trevelyan.alumni/:module/:action/*
于 2009-03-13T11:15:16.207 に答える
1

symfonyコントローラーファイルを編集して$_SERVER変数を使用し、モジュールが見つからない場合はそこからモジュールを選択することで、これを修正することができました。

于 2009-03-15T11:11:59.497 に答える
1

あなたのrouting.ymlファイルの最後に:

homepage:
  url:   
  param: { module: main, action: index }

default:
  url:   /:module/:action/*

その後、キャッシュをクリアすることを忘れないでください;)

于 2011-09-08T14:10:38.853 に答える
0

symfony 1.2 から 1.4 にアップグレードしたところ、この問題が発生しました。結局のところ、基本的に構成ファイルはすべて、ルーティングが何らかの形で壊れるまで十分に変更されています。アプリの構成ファイルを調べて、lib/vendor/symfony/lib/config/config (または symfony を保持している場所) にある「新しいアプリ」テンプレートと比較/更新すると、この問題が修正されました。

于 2009-12-30T09:16:57.910 に答える
0

ルーティングの変更を有効にするには、symfony の clear cache を実行する必要があります:

./symfony clear-cache
于 2009-03-13T23:31:03.067 に答える
0

デフォルトのルーティング ルールのため、ルートの一致する URL からドットを削除する必要があります。

デフォルトのルートを次のように変更します。

default:
  url: /trevelyan_alumni/:module/:action/*

そしてそれはうまくいくはずです。ドット (.) は _ に置き換えられることに注意してください。

于 2009-03-17T10:47:39.413 に答える