YSlow的一项衡量标准是使用无cookie的域来提供静态文件。
“当浏览器请求静态时 图像并发送cookie 请求,服务器忽略 饼干。这些cookie是不必要的 网络流量。解决这个问题 问题,请确保静态 请求组件 无Cookie请求创建一个 子域名并在那里托管。“ - 雅虎YSlow
我认为这意味着如果我将 www.example.com/images 移动到 static.example.com/images ,我可以获得性能提升。
虽然这很容易做到,但我会在内容管理系统(Joomla / WordPress)中失去方便的功能,以便轻松引用和链接到这些图像。
是否可以使用.htaccess将 www.example.com 上特定文件夹的所有请求重定向到 static.example.com 上的文件夹?这种方法是否也会让CMS误以为图像位于其自己域中的默认位置?
答案 0 :(得分:14)
是否可以使用.htaccess重定向所有请求 对于www.example.com上的特定文件夹到文件夹 而不是static.example.com?
可能,但反效果 - 客户端必须发出HTTP请求,获取重定向响应,然后发出另一个HTTP请求。
这比保存的单行cookie数据要贵很多!
这种方法是否会欺骗CMS思考图像 是否位于其自己域中的默认位置?
没有
答案 1 :(得分:4)
虽然这很容易做到,但我愿意 在我的内心失去了方便的能力 内容管理系统 (Joomla / WordPress)轻松参考 并链接到这些图像。
你可以尝试做的是在Joomla中创建一个插件来创建这些引用。
例如,您有一个插件,当您在文章中输入{dinamic_path path}时,它会将“static.example.com/images”附加到提供的路径中。因此,每次需要更改服务器路径时,只需更改插件即可。对于已存在于数据库中的链接,您可以尝试使用phpMyAdmin在此结构中更改它们。
它仍然在TinyMCE中失去了WYSIWYG的能力,但它是另一种选择。
答案 2 :(得分:4)
理论上,您可以创建一个直接指向images文件夹的虚拟域,例如images.example.com。然后在您的CMS中(希望在主题层)您可以用指向子域的绝对路径替换指向images文件夹的任何路径。
答案 3 :(得分:3)
重定向会导致更多网络流量,并且远延迟更多,而不仅仅是保留原样。
答案 4 :(得分:1)
它会重定向请求,但客户端仍然会将其cookie发送到服务器,所以你真的没有做任何事情。您必须直接访问未存储cookie的域中的文件才能工作。
答案 5 :(得分:0)
您真正想要做的是使用staticexample.com/images而不是static.example.com/images,这样您就不会在您可能设置的example.com域上获取任何cookie。如果你所做的只是使用简单的apache服务器或其他东西来自该域的服务器映像,那么你可以配置该服务器甚至不返回会话cookie。
重定向是一个非常糟糕的主意。 Cookie会导致一些性能下降但是到服务器的往返行程(例如重定向)会导致更严重的性能问题。
答案 6 :(得分:0)
我在下面做了并取得了成功:
<FilesMatch "!\.(gif|jpe?g|png)$">
php_value session.cookie_domain example.com
</FilesMatch>
如果您不在cookie信息中设置图像,这意味着什么。 然后,图像不含cookie,无需服务器。