برگزیده های پرشین تولز

استفاده از mod_gzip یا mod_deflate بر روی سرورهای پرشین تولز

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
سلام دوستان
من فضایی رو بر روی سرور پرشین تولز خریداری کردم؛ و سایت http://www.alipour.ir رو که طراحی کرده بودم بر روی اون آپلود کردم...
اکنون می خوام با استفاده از mod_gzip یا mod_deflate اسکریپت های css و js رو فشرده کنم که زمان ترانسفر اطلاعات کمتر بشه و سایت هر چه سریع تر باز بشه... ولی فقط با کدهایی که نوشتم و در تمام اینترنت جستجو کردم نتونستم این کار رو انجام بدم و فقط فایل های html صفحات جاری فشرده می شوند!
فایل های css و js من در یک subfolder به نام scripts وجود دارد!
به گفته بخش پشتیبانی هر 2 مد هم بر روی سرور پرشین تولز نصب هست.
کد:
<IfModule mod_gzip.c>
	mod_gzip_on Yes
	mod_gzip_dechunk Yes
	mod_gzip_item_include file \.(html?|txt|css|js|php)$
	mod_gzip_item_include handler ^cgi-script$
	mod_gzip_item_include mime ^text/.*
	mod_gzip_item_include mime ^application/x-javascript.*
	mod_gzip_item_exclude mime ^image/.*
	mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
	mod_gzip_item_include file ^scripts/([a-zA-Z0-9_]+)\.js$
	mod_gzip_item_include file ^scripts/([a-zA-Z0-9_]+)\.css$
</IfModule>

<IfModule mod_deflate.c>
	# compress text, html, javascript, css, xml:
	SetOutputFilter DEFLATE
	AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
	BrowserMatch ^Mozilla/4 gzip-only-text/html
	BrowserMatch ^Mozilla/4\.0[678] no-gzip
	BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html

	<IfModule mod_headers.c>
		# Make sure proxies don’t deliver the wrong content
		Header append Vary User-Agent env=!dont-vary
	</IfModule>

	<FilesMatch "^scripts/([a-zA-Z0-9_]+)\.(js|css)$">
		SetOutputFilter DEFLATE
	</FilesMatch>	
</IfModule>
اگر اساتید راهنمایی کنند ممنون میشم؛ شدیدا بهش احتیاج دارم چون روی سرعت سایت به شدت تاثیر میزاره...
منتظر جوابتون هستم... :happy:
راستی اگر دوستان نظراتتشون رو درباره وب سایت مجتمع صنعتی علیپور هم بدهند خیلی ممنون میشم.
در ضمن نمی دونستم مطلب راجع به htaccess باید در کجا نوشته شود که در این قسمت سایت نوشتم... یه دنیا ممنون
 
Last edited:

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
از دوستان محترم هیچ کس نمی تونه راهنمایی کنه؟!
پس اساتید محترم برنامه نویسی کجا هستن؟! :(
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
فایل gzip.php رو دانلود کن!

بعد بریزش تو فلدره اصلی سایتت! public_html یا htdocs یا httpdocs هر چی که هست فلدره اصلیه سایتت!

این رو هم کپی کن تو .htaccess ی که تو همون فلدره اصلی سایتت هست!

کد:
<FilesMatch "\.(txt|html|htm|php|js|css)">
    ForceType application/x-httpd-php

	php_value auto_prepend_file /gzip.php

</FilesMatch>
 

فایل های ضمیمه

  • gzip.zip
    223 بایت · نمایش ها: 10
Last edited:

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
مرسی دوست عزیز؛ ولی از این روش قبلا استفاده کردم!
قالب سایت به هم میریزه!
نمی دونم علتش چیه؛ ولی فکر کنم این کد رو که میزارم دیگه فایل های css اجرا نمیشه...
ممنون و منتظر جوابتون و راه حلی که پیشنهاد میدید هستم... ;)
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
مرسی دوست عزیز؛ ولی از این روش قبلا استفاده کردم!
قالب سایت به هم میریزه!
نمی دونم علتش چیه؛ ولی فکر کنم این کد رو که میزارم دیگه فایل های css اجرا نمیشه...
ممنون و منتظر جوابتون و راه حلی که پیشنهاد میدید هستم... ;)
پس از این استفاده کن! کارشو میسازه!

همون کارای پست قبلی رو انجام بده فقط تو htaccess اینا رو بنویس بجای اون قبلی!

کد:
<FilesMatch "\.(txt|html|htm|php)">
    ForceType application/x-httpd-php
	php_value auto_prepend_file /gzip.php
</FilesMatch>
<FilesMatch "\.(css)">
    ForceType text/css
	php_value auto_prepend_file /gzip.php
</FilesMatch>
<FilesMatch "\.(js)">
    ForceType text/javascript
	php_value auto_prepend_file /gzip.php
</FilesMatch>
 
Last edited:

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
پس از این استفاده کن! کارشو میسازه!

همون کارای پست قبلی رو انجام بده فقط تو htaccess اینا رو بنویس بجای اون قبلی!

کد:
<FilesMatch "\.(txt|html|htm|php)">
    ForceType application/x-httpd-php
	php_value auto_prepend_file /gzip.php
</FilesMatch>
<FilesMatch "\.(css)">
    ForceType text/css
	php_value auto_prepend_file /gzip.php
</FilesMatch>
<FilesMatch "\.(js)">
    ForceType text/javascript
	php_value auto_prepend_file /gzip.php
</FilesMatch>

مرسی از اینکه وقت میزاری و جواب میدی دوست عزیز
این کد دیگه قالب صفحه رو به هم نمی ریزه؛ ولی با YSlow که سایت رو چک می کنم می گه که هیچ کدام از اسکریپت ها فشرده نشدن و پیغام Compress Component With GZip برای 9 فایل css و javascript نمایش داده میشه!
باید چه کار کنم؟؟! :(
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
پروفسور من این فایل رو روی هاستت نمیبینم!

http://www.alipour.ir/gzip.php


تو اون فایل .htaccess بجز کدایی که من دادم بهت, کد دیگه ای در رابطه با فشرده کردن نذار که آپاچی قاطی کنشون
 

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
پروفسور من این فایل رو روی هاستت نمیبینم!
http://www.alipour.ir/gzip.php
تو اون فایل .htaccess بجز کدایی که من دادم بهت, کد دیگه ای در رابطه با فشرده کردن نذار که آپاچی قاطی کنشون

خوب عزیز دل من وقتی من روی لوکال تستش می کنم دلیلی وجود نداره که شما روی Host ببینیش!
آخه اصلا روی هاست آپلود نکردم! وقتی روی لوکال جواب نمیده مگه میشه روی Host جواب بده؟! :eek:
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
خوب عزیز دل من وقتی من روی لوکال تستش می کنم دلیلی وجود نداره که شما روی Host ببینیش!
آخه اصلا روی هاست آپلود نکردم! وقتی روی لوکال جواب نمیده مگه میشه روی Host جواب بده؟! :eek:
گرفتیمون؟ بریز رو هاستت! من تست کردم جواب میده.

احتمالا لوکالت gzip اینا فعال نیست... فعال هم بود تو باز آپلود کن!
 

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
گرفتیمون؟ بریز رو هاستت! من تست کردم جواب میده.
احتمالا لوکالت gzip اینا فعال نیست... فعال هم بود تو باز آپلود کن!

مرسی؛ ولی روی هاست هم آپلود کردم؛ همه Comperssion های دیگه رو هم پاک کردم؛ ولی وقتی کدی که شما دادی رو توی فایل .htaccess در ریشه اصلی سایت (توی httpdocs) می ریزم و gzip.php رو هم همونجا آپلود می کنم؛ دیگه هیچ صفحه ای از سایت باز نمیشه! وقتی refresh میزنم صفحه ای کاملا سفید میاد که هیچ source توی اون وجود نداره! :blink:
دیگه این gzip داره منو روانی می کنه...
دوست عزیز شرمنده که این همه هم وقت شما رو می گیرم.
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
الان سایتت Gzip شده واسه من میاد بالا!

کد:
HTTP/1.1 200 OK
Date: Tue, 13 Jul 2010 07:04:12 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
[COLOR="Red"]Content-Encoding: gzip[/COLOR]
Vary: Accept-Encoding
Cache-Control: max-age=5184000
Expires: Sat, 11 Sep 2010 07:04:12 GMT
Content-Length: 1377
Keep-Alive: timeout=1, max=10000
Connection: Keep-Alive
Content-Type: text/html
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
تو اصلا یوزر و پسورد سایتت رو بده تا خدم درستش کنم!
 

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
این چیزی که شما نوشتی که توی قسمت net افزونه pagespeed گزارش میده و فقط به خاطر کد
کد:
php_flag zlib.output_compression On
هست که فقط صفحات html فشرده میشن و از قبل هم فشرده میشدن!

فکر کنم منظور من رو از gzip متوجه نشدی! شما وقتی سایت من رو چک کردی و گفتی gzip بالا میاد من کلا کد htaccess که شما داده بودی رو کامنت کرده بودم!
منظور من از gzip اینه که مثلا style.css که حجمش 30کیلوبایت هست؛ توی درخواست get به صورت فشرده دریافت بشه و مثلا 10 کیلوبایت حجمش بشه! تا سرعت ترانسفر افزایش پیدا کنه... ولی کدی که شما دادی هیچ کدوم از این کارا رو نمیکنه! :wacko:

اصلا یه سئوال؟! چرا mod_gzip یا mod_deflate هیچ کدومش به صورت مستقل کار نمیکنه که دیگه هم احتیاج به کد php نباشه؟!
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
این چیزی که شما نوشتی که توی قسمت net افزونه pagespeed گزارش میده و فقط به خاطر کد
کد:
php_flag zlib.output_compression On
هست که فقط صفحات html فشرده میشن و از قبل هم فشرده میشدن!

فکر کنم منظور من رو از gzip متوجه نشدی! شما وقتی سایت من رو چک کردی و گفتی gzip بالا میاد من کلا کد htaccess که شما داده بودی رو کامنت کرده بودم!
منظور من از gzip اینه که مثلا style.css که حجمش 30کیلوبایت هست؛ توی درخواست get به صورت فشرده دریافت بشه و مثلا 10 کیلوبایت حجمش بشه! تا سرعت ترانسفر افزایش پیدا کنه... ولی کدی که شما دادی هیچ کدوم از این کارا رو نمیکنه! :wacko:

اصلا یه سئوال؟! چرا mod_gzip یا mod_deflate هیچ کدومش به صورت مستقل کار نمیکنه که دیگه هم احتیاج به کد php نباشه؟!
تو پسورد هاستت رو بده من واست همه چیشو Gzip میکنم 3 سوته! :lol:
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
این چیزی که شما نوشتی که توی قسمت net افزونه pagespeed گزارش میده و فقط به خاطر کد
کد:
php_flag zlib.output_compression On
هست که فقط صفحات html فشرده میشن و از قبل هم فشرده میشدن!

فکر کنم منظور من رو از gzip متوجه نشدی! شما وقتی سایت من رو چک کردی و گفتی gzip بالا میاد من کلا کد htaccess که شما داده بودی رو کامنت کرده بودم!
منظور من از gzip اینه که مثلا style.css که حجمش 30کیلوبایت هست؛ توی درخواست get به صورت فشرده دریافت بشه و مثلا 10 کیلوبایت حجمش بشه! تا سرعت ترانسفر افزایش پیدا کنه... ولی کدی که شما دادی هیچ کدوم از این کارا رو نمیکنه! :wacko:

اصلا یه سئوال؟! چرا mod_gzip یا mod_deflate هیچ کدومش به صورت مستقل کار نمیکنه که دیگه هم احتیاج به کد php نباشه؟!
تو اگه میبینی بخاطره اشتراکی بودن و محدودیت داشتن هاستت نمیتونی با htaccess فایل های CSS رو فشرده کنی, از این استفاده کن!

فایل های css ت رو تو یک فایله php لود کن!

PHP:
<?php
  header('Content-type: text/css');
  ob_start("compress");
  function compress($buffer) {
    /* remove comments */
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    /* remove tabs, spaces, newlines, etc. */
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    return $buffer;
  }

  /* your css files */
  include('master.css');
  include('typography.css');
  include('grid.css');
  include('print.css');
  include('handheld.css');

  ob_end_flush();
?>
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,396
لایک‌ها
1,288
محل سکونت
aquarium
این چیزی که شما نوشتی که توی قسمت net افزونه pagespeed گزارش میده و فقط به خاطر کد
کد:
php_flag zlib.output_compression On
هست که فقط صفحات html فشرده میشن و از قبل هم فشرده میشدن!

فکر کنم منظور من رو از gzip متوجه نشدی! شما وقتی سایت من رو چک کردی و گفتی gzip بالا میاد من کلا کد htaccess که شما داده بودی رو کامنت کرده بودم!
چرا فشرده شده!
http://nontroppo.org/tools/gziptest/?url=http://www.alipour.ir&uas=&onlyheaders=on
این هدرا کشککی نیست که اگه محتویات یه صفحه فشرده نشده باشه الکی هدره Gzip واسش ارسال بشه!
اگه محتوای صفحه فشرده نشده باشه و هدره gZIP ارسال بشه اون صفحه اصلا باز نمیشه تو مرورگر!


اصلا یه سئوال؟! چرا mod_gzip یا mod_deflate هیچ کدومش به صورت مستقل کار نمیکنه که دیگه هم احتیاج به کد php نباشه؟!
شما اگه سرور اختصاصی یا VPS داشتی میتونستی به هزار مدل همه محتویات سایتت رو فشرده کنی با اینا بدون اینکه بخوای دست به htaccess یا فایل های دیگه سایتت دست بزنی!
 

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
تو پسورد هاستت رو بده من واست همه چیشو Gzip میکنم 3 سوته! :lol:

ممنون از لطفتون ولی چون سایت مال خودم نیست نمی تونم یوزر و پسورد رو به شما بدم
یه دنیا ممنون از زحمت هایی که کشیدی و جوابهایی که دادی...
 

ghasem_babaie

کاربر تازه وارد
تاریخ عضویت
17 نوامبر 2009
نوشته‌ها
11
لایک‌ها
0
سن
38
محل سکونت
Shiraz
چرا فشرده شده!
http://nontroppo.org/tools/gziptest/?url=http://www.alipour.ir&uas=&onlyheaders=on
این هدرا کشککی نیست که اگه محتویات یه صفحه فشرده نشده باشه الکی هدره Gzip واسش ارسال بشه!
اگه محتوای صفحه فشرده نشده باشه و هدره gZIP ارسال بشه اون صفحه اصلا باز نمیشه تو مرورگر!

شما اگه سرور اختصاصی یا VPS داشتی میتونستی به هزار مدل همه محتویات سایتت رو فشرده کنی با اینا بدون اینکه بخوای دست به htaccess یا فایل های دیگه سایتت دست بزنی!

مرسی؛ ولی
کد:
Content-Type: text/html
به دلیل اینکه خود صفحه html فشرده شده نمایش داده میشه! توی YSlow و PageSpeed هم میگه که فایل html فشرده شده ولی هیچ کدام از css ها و js ها فشرده نشده!
سایتی هم که شما توش تست کردی فقط هدر html رو چک می کنه و مسلما اون فشرده شده...
با این کدها DataTransfer من هیچ فرقی نمی کنه و مشخصه که هیچ کدومش صفحه رو فشرده نمی کنه! با YSlow کار کنید متوجه میشید من چی میگم...
 
بالا