nginx の SSI 問題に関する研究

WBOY
リリース: 2016-08-08 09:26:11
オリジナル
1190 人が閲覧しました

最近はかなり良い感じです。このプロジェクト チームには PHP を専門とする人はいません。笑、私がビジネスに適した PHP フレームワークを設計して修正します。笑、いろいろ勉強になりそうな気がします。 先日、グループの先輩たち20人以上の前でPHPフレームワークについて話し、専門家たちと議論しました。私は自分の表現力があまりにも貧弱で、自分が知っていることを明確に表現することができなかったので、指導者のユウ・ホンレイ(略してレイ兄弟)に感謝したいと思います。レイ兄弟は、これほど奥深いプログラマーを見たことがありません。確かに、テクノロジー以外のことについては、私の想像を超えています。幅広い話題、特に歴史と文学について、彼のチャットは整理されていて、ユーモアがあり、時々記事からいくつかの言葉を引用します。私は彼が技術的な達人であるとはまったく感じません。むしろ、ルオ・ヨンハオのような人です(笑) 過去 2 年間、レイ兄弟はもっと本を読み、もっと話し、自分の表現力を向上させることが私の目標でした。そうでなければ、私が知っていることを最も直接的な表現で共有することはできないと非常に憂鬱です。

くだらない話が続いたので、今日お話しするのはSSIについての質問です

SSIとはServer Side Includeの略で、サーバーサイドインクルードを意味します。このコマンドはnginxでSSIモジュールのincludeコマンドを使用するだけです。サーバ。

私はどんな問題に直面していますか?リッチ テキスト エディターでは、ページを保存し、HTML を入力し (SSI include コマンドを含む)、データベースに保存する必要があります。また、保存後にコンテンツを編集することもできます。リッチ テキスト エディターは次のようにする必要があります:

リーリー

問題はここにあり、ssiコマンドが含まれています。

これは直接アクセスした場合のみHello Worldが表示されます! ! ! 、次のように nginx を構成します:

リーリー

このとき、nginxを通過するMIMEタイプのtext/shtmlタイプのデータがある場合、nginxはこれらのコマンドを解析するために戻ってしまうため、データベース内のデータを見つけてクライアントのリッチテキストエディタに返します。問題が発生し、エコーの内容は次のようになります:

リーリー

ページには次のフォームが表示されます:

サーバー上の他の機能では SSI を使用する必要があるのに、ここでは SSI を使用する必要がないため、少し憂鬱になります。どうすればよいでしょうか。

このとき、私は ssi_types を考えました。ここでよく使われる te​​xt/plain は何ですか? ブラウザーでは、すべてのコンテンツがそのまま表示されます。 HTMLとCSSを解析します。このタイプを使用すると、nginx は展開されません。出力前に MIME を変更してみてください。

リーリー

案の定、MIME を変更した後、出力はデータベース内の出力と一致し、変更されません。

問題は解決されたようですが、歴史的な理由により、背景の編集ボックスのコンテンツが他のコンテンツと一緒に返されるとは予想していませんでした。これは、text/plain に設定されている場合、すべてが表示されます。コンテンツはブラウザにテキスト形式で表示されますが、問題はまだ解決されていません~~

このとき、nginxの設定を考えます。nginxで解析して展開する必要があるファイルは通常shtml、htmlなどのサフィックスであり、クエリデータベースは通常phpであるため、ssiの使用をファイルに減らすことができます。 shtml と html のサフィックスを見てみましょう。ここでは、ssi 設定情報を一致させて、その効果を確認します。

リーリー

同様のコンテンツを含む新しい html および php ファイルを作成します。

リーリー

html:

リーリー

phpアクセスではTest!!のみが出力され、その他の内容はソースコードを閲覧することでしか見ることができませんが、htmlでは解析され、インクルードされたファイルに対応する内容が出力されるか、エラーが表示されます。見つからなかったら報告してください! !この時点で、問題は基本的に解決しました。来週の仕事後にこの方法を試してみると、テスト中は問題ありませんでした。

この記事の著作権は著者ifforever(luluyrt@163.com)に帰属します。記事を転載した後は、著者と原文リンクを明示する必要があります。記事ページにあります。

上記では、nginx の SSI 問題に関する研究をその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート