が発生しました。間違ったURL(http://example.com/articles/qslkdqm;ワイルドカードを使用したSilexルーティングでは、エラー500
コントローラ
$article = $app['dao.article']->getArticle($slug);
if (!$article) {
$response = new Response();
$response->setStatusCode(404);
}
:コントローラは、エラー500の代わりに、だから、私は、コントローラは、スラグをチェックするときに手動でデータを取得するためのStatusCodeを変更しようとした404
エラーをスローしかし、それは動作しませんし、まだエラー500をスローします。
それは正常ですか?これは404になるはずです。
いくつかの変数が定義されていないため(つまり、記事のタイトル)、エラー500が表示されることがあります。これは、各変数呼び出しで、その存在が次のようになっているかどうかを確認するだけです:
{% if title is defined %}
...
{% endif %}
?
ありがとうございました。
彼らはイエスその後、定義されていないかもしれないという危険性がある場合。また、実際の値を持たずにビューを表示する場合は、デフォルト値を送信することもできます。あなたはすでに404の代わりに500のエラーが出る理由は既に知っているようです(php-error(500)があれば、phpでhttpコードを上書きすることはできません。コードを解析してください) –
これは500に関連するエラーですか?どのメッセージが見えますか? (画面、ログ、...) – Matteo
あなたの助けてくれてありがとう@MagnusErikssonしかし、以下の答えは、デフォルト値を宣言することなくそれを解決しました。 – cyclone200