web-dev-qa-db-ja.com

.htaccess、YSlow、および「Cookieのないドメインを使用する」

YSlowの測定可能な要素の1つは、Cookieのないドメインを使用して静的ファイルを提供することです。

「ブラウザが静的画像をリクエストし、リクエストとともにCookieを送信すると、サーバーはCookieを無視します。これらのCookieは不要なネットワークトラフィックです。この問題を回避するには、静的コンポーネントがCookieを含まないリクエストでリクエストされることを確認してくださいbyサブドメインを作成し、そこでホストします。」 -Yahoo YSlow

これを解釈すると、www.example.com/imagesstaticに移動するとパフォーマンスが向上する可能性があります.example.com/images

これは簡単に行えますが、コンテンツ管理システム(Joomla/WordPress)内でこれらの画像を簡単に参照およびリンクする便利な機能を失うことになります。

.htaccessを使用して、www.example.com上の特定のフォルダに対するすべての要求をstatic.example.com代わりに?この方法では、CMSをだまして、画像が独自のドメインのデフォルトの場所にあると考えてしまうのでしょうか。

16
Jason Pearce

代わりに.htaccessを使用して、www.example.com上の特定のフォルダに対するすべてのリクエストをstatic.example.com上のフォルダにリダイレクトすることはできますか?

可能ですが、生産的ではありません。クライアントはHTTP要求を作成し、リダイレクト応答を取得してから、別のHTTP要求を作成する必要があります。

これは、保存された1行のCookieデータよりもはるかにコストがかかります!

この方法は、CMSをだまして、画像が独自のドメインのデフォルトの場所にあると考えさせますか?

番号。

14
Quentin

理論的には、images.example.comなどの画像フォルダを直接指す仮想ドメインを作成できます。次に、CMSで(できればテーマレイヤーで)、イメージフォルダーを指すパスをサブドメインへの絶対パスに置き換えることができます。

これは簡単に行えますが、コンテンツ管理システム(Joomla/WordPress)内でこれらの画像を簡単に参照およびリンクする便利な機能が失われます。

あなたがやろうとしていることは、これらの参照を動的に作成するプラグインをJoomlaで作成することです。

たとえば、記事に{dinamic_path path}と入力すると、提供されたパスに「static.example.com/images」が追加されるプラグインがあります。したがって、サーバーパスを変更する必要があるたびに、プラグインを変更するだけです。すでにデータベースにあるリンクについては、phpMyAdminを使用して、この構造のリンクを変更することができます。

それでもTinyMCEのWYSIWYG機能が失われますが、代替手段です。

4
GmonC

リダイレクトは、単に物事をそのままにするよりもはるかに多くのネットワークトラフィックとfarより多くの遅延を引き起こします。

3
RichieHindle

リクエストをリダイレクトしますが、クライアントはサーバーにCookieを送信しているため、実際には何も実行されません。それが機能するためには、Cookieを保存していないドメインからファイルに直接アクセスする必要があります。

1
Ryan Kearney

私は以下を行い、成功を得ました:

<FilesMatch "!\.(gif|jpe?g|png)$">
    php_value session.cookie_domain example.com
</FilesMatch>

つまり、Cookie情報に画像を設定しない場合です。その後、画像はサーバーでcookieを使用しません。

0
Michał W