I would simply use Firebug or Chrome's Web Developer Tools to examine the HTTP headers. Is there an expires header sent?
Moreover you have to consider that YSlow may be picking up that the dynamic content of your page (.php files) do not have expiration headers. The .htaccess file will not add such headers to dynamic content. In fact it would be wrong if it did. It only adds expiration headers to specific static media types.
Another two pitfalls. The way the generated .htaccess is written, it will only add expiration headers based on MIME Types. If the server doesn't resolve the MIME type of various files the default expiration (+1 hour) will be added. Moreover, the expiration is not set months or years into the future. CSS and JS files are set to have a short expiration time of 1 week. Otherwise most components would break for all your visitors as soon as you updated a component (very few, if any, components use a versioning query string with site resources).
Finally please note that YSlow is optimised for huge sites, with billions of unique visitors per month, managed by very big, dedicated IT teams. The suggestions it generates are geared towards that audience. You don't need to set expiration headers in the far future and you don't need to use a CDN (typical suggestions), or even combine all CSS and JS files or use sprites. Yes, if you can do all of that it's cool and great, but think about it. In order to implement all of the suggestions you have to fork the entirety of the software running on your site and modify the crap out of it. For every new Joomla! or extension update you'd have to rewrite your modified code. Is this huge trouble worth the 100-300 msec you're going to shave off each visitor's load time? It does if you have billions of uniques per month (as it also translates to several Terabytes of data saved) but it is irrelevant in our tiny to small websites.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!