私は CMS を開発しているので、それぞれのサイトのグローバル css ファイルをデータベースに保存してロードする必要があります。util というコントローラーがあり、メソッドは sitecss と呼ばれます。したがって、私のメイン ラッパー ビューは次のようになります。
<link rel="stylesheet" type="text/css" href="/util/sitecss">
css は読み込まれますが、効果はありません。ページのソースを表示してリンクをクリックすると、css が正常に表示されます。だから私はそれがロードされていることを知っています。それはファイルから来ていないということですか?それとも、キャッシュされていないのにキャッシュされているとブラウザが想定しているのでしょうか?
静的ファイルを作成し、上記に変更すると
<link rel="stylesheet" type="text/css" href="/css/site.css">
すべてがうまく機能します。ハンドラー ashx ファイルを使用して .NET でこれを行うと、正常に動作します。私が問題を抱えているのは、Codeigniterを使用したphpです。誰かが「なぜ静的ファイルを作成しないのですか?」と尋ねるでしょう。答えは、このアプリケーションには実用的ではないということです。これは、展開が非常に迅速な数千のサイト向けです。
前もって感謝します!
編集:
私のコントローラーメソッドは次のようになります。
function sitecss() {
$cssdata = $this->cmsutils->loadCss($this->session->userdata('sitecss'));
echo $cssdata;
}
では、最初に MIME タイプをエコーすることはできますか? 内でこの呼び出しを行っているため、これは機能しないようです