PDA

View Full Version : مشکل browser caching



sajjad-victim
سه شنبه 08 اسفند 1391, 23:41 عصر
سلام دوستان
من میخوام browser caching رو برای سایتم فعال کنم....برای همین توی htaccess اسکریپتم کد پایین رو
اضافه کردم.....ولی وقتی اضافه میکنم ارور internal server 500 میده...مشکل چیه؟


# 480 weeks<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

# 2 DAYS
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>

# 2 HOURS
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>

MostafaEs3
چهارشنبه 09 اسفند 1391, 00:04 صبح
توی اولین خط دقیقا بعد از weeks یک اینتر بزنید که بره خط بعد !

sajjad-victim
چهارشنبه 09 اسفند 1391, 09:43 صبح
باز هم درست نشد
این کل اطلاعات داخل فایل :

# 480 weeks
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

# 2 DAYS
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>

# 2 HOURS
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>

php_flag zlib.output_compression on
<Files "*.tpl">
Order Deny,Allow
Deny from all
</Files>

sajjad-victim
چهارشنبه 09 اسفند 1391, 09:53 صبح
در ضمن توی بعضی از پوشه های دیگه اسکریپت هم فایل htaccess هست....ولی وقتی اوناها رو هم پاک میکنم باز هم فایده نداره
کلا هر دستوری توی htaccess میزنم ارور میده

MostafaEs3
چهارشنبه 09 اسفند 1391, 20:22 عصر
در ضمن توی بعضی از پوشه های دیگه اسکریپت هم فایل htaccess هست....ولی وقتی اوناها رو هم پاک میکنم باز هم فایده نداره
کلا هر دستوری توی htaccess میزنم ارور میده

این کد رو امتحان کن ::


# 480 weeks
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$" >
<IfModule mod_headers.c>
Header set Cache-Control "max-age=290304000, public"
</IfModule>
</FilesMatch>

# 2 DAYS
<FilesMatch "\.(xml|txt)$">
<IfModule mod_headers.c>
Header set Cache-Control "max-age=172800, public, must-revalidate"
</IfModule>
</FilesMatch>

# 2 HOURS
<FilesMatch "\.(html|htm)$">
<IfModule mod_headers.c>
Header set Cache-Control "max-age=7200, must-revalidate"
</IfModule>
</FilesMatch>

<IfModule mod_php5.c>
php_flag zlib.output_compression On
</IfModule>

<FilesMatch "\.(tpl|ini|log)$">
order allow,deny
Deny from all
</FilesMatch>


این تاپیک رو هم یک بررسی کن شاید بهش نیاز پیدا کنی :: http://barnamenevis.org/showthread.php?383385 :چشمک:

sajjad-victim
چهارشنبه 09 اسفند 1391, 22:24 عصر
مصطفی جان خیلی ممنون بابت راهنماییت ولی هرکاری میکنم browser cach فعال نمیشه...ولی gzip فعال میشه...این عکس رواز firebug گرفتم :
http://upload7.ir/images/68920930407071802590.png

eshpilen
پنج شنبه 10 اسفند 1391, 08:36 صبح
البته تست کش کردن رو نباید با دکمهء Refresh/Reload مرورگر انجام بدی؛ بلکه باید مثلا آدرس رو در آدرسبار وارد کنی یا مثلا روی لینکش در هستوری کلیک کنی و اینها.
چون موقعی که شما روی دکمهء Refresh مرورگر کلیک میکنی، معمولا مرورگرها این رو به این معنی تفسیر میکنن که شما نسخهء جاری و کش نشدهء اون صفحه رو میخوای؛ به همین خاطر مرورگر از نسخهء کش شدهء خودش استفاده نکرده و درخواست جدیدی رو به سرور ارسال میکنه و همچنین در درخواستش هدرهای ضدکش (مثل همون که در عکس خودت مشخصه) رو ارسال میکنه که باعث میشن کش سرورهای خارجی هم نسخهء کش شده ای رو برگشت ندن (حتی الامکان).