0

私のウェブサイトをローカルで( 経由でyesod devel)実行すると、スタイリングが読み込まれ、すべて問題ありません。CSS ファイルが正しく読み込まれます。この方法の使用

しかし、Amazon ec2 サーバーにアップロードすると、スタイリングが正しく読み込まれません。

ポート 80 をリッスンする nginx を使用してから、yesod webapp が実行されているポート 3000 にリダイレクトします。私のnginx.conf設定。

ここに画像の説明を入力

したがって、静的ファイルがユーザーのブラウザーに渡されることを示すheader.cssに直接アクセスできます。しかし、何らかの理由で css が正しく接続されていません。

私が気付いたもう 1 つのことは、IP とポート 3000 に直接アクセスすると、デフォルトのfavicon.icoアイコンがロードされるのに対し、ドメインにアクセスするとロードされないことです。何か案は?

4

2 に答える 2

1

config/settings.ymlapproot設定は、ec2 サーバーへのアクセスに使用していた URL の先頭と一致していますか? あなたが表示するログは、それが間違っていることで確かに説明できます。Yesod は、 approotをプレフィックスとして使用して、ページを構築するために必要なすべての追加要素に対して、完全修飾 URLを構築します。(ページのソースをチェックして、Yesod が作成したものを確認してください。)

今のところ yesod develを使用して実行している場合、approot設定は "Development" 環境用に設定されたものになります。これは、 settings.ymlの構造を当時と同じにしておけば、"Defaults" セクションにあるものになります。足場サイトを作成しました。

于 2013-03-28T15:20:09.057 に答える
0

nginx.conf ファイルに深刻な問題は見つかりませんでした。

http://www.finance-web.biz/static/css/header.css にアクセスすると、結果は問題ありません。

/*!
 * Extra header style
 */

.beta {
    color: #CC3300;
}

多分それはあなたのブラウザにキャッシュされたものです。

于 2013-03-29T14:09:10.390 に答える