آژانس هواپیماییexchanging

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

شروع موضوع توسط ghasem_babaie ‏11 جولای 2010 در انجمن PHP

  1. ghasem_babaie

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    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: ‏11 جولای 2010
  2. ghasem_babaie

    ghasem_babaie کاربر تازه وارد

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

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    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: ‏12 جولای 2010
  4. ghasem_babaie

    ghasem_babaie کاربر تازه وارد

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

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    پس از این استفاده کن! کارشو میسازه!

    همون کارای پست قبلی رو انجام بده فقط تو 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: ‏12 جولای 2010
  6. ghasem_babaie

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    Shiraz
    مرسی از اینکه وقت میزاری و جواب میدی دوست عزیز
    این کد دیگه قالب صفحه رو به هم نمی ریزه؛ ولی با YSlow که سایت رو چک می کنم می گه که هیچ کدام از اسکریپت ها فشرده نشدن و پیغام Compress Component With GZip برای 9 فایل css و javascript نمایش داده میشه!
    باید چه کار کنم؟؟! :(
     
  7. appbannerkhuniresbanner
  8. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    پروفسور من این فایل رو روی هاستت نمیبینم!

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


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

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    Shiraz
    خوب عزیز دل من وقتی من روی لوکال تستش می کنم دلیلی وجود نداره که شما روی Host ببینیش!
    آخه اصلا روی هاست آپلود نکردم! وقتی روی لوکال جواب نمیده مگه میشه روی Host جواب بده؟! :eek:
     
  10. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    گرفتیمون؟ بریز رو هاستت! من تست کردم جواب میده.

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

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    Shiraz
    مرسی؛ ولی روی هاست هم آپلود کردم؛ همه Comperssion های دیگه رو هم پاک کردم؛ ولی وقتی کدی که شما دادی رو توی فایل .htaccess در ریشه اصلی سایت (توی httpdocs) می ریزم و gzip.php رو هم همونجا آپلود می کنم؛ دیگه هیچ صفحه ای از سایت باز نمیشه! وقتی refresh میزنم صفحه ای کاملا سفید میاد که هیچ source توی اون وجود نداره! :blink:
    دیگه این gzip داره منو روانی می کنه...
    دوست عزیز شرمنده که این همه هم وقت شما رو می گیرم.
     
  12. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    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
    
    
     
  13. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    تو اصلا یوزر و پسورد سایتت رو بده تا خدم درستش کنم!
     
  14. avajang.com .leftavajang.com.right
  15. ghasem_babaie

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    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 نباشه؟!
     
  16. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    تو پسورد هاستت رو بده من واست همه چیشو Gzip میکنم 3 سوته! :lol:
     
  17. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    تو اگه میبینی بخاطره اشتراکی بودن و محدودیت داشتن هاستت نمیتونی با 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();
    ?>


     
  18. ODE112

    ODE112 کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏24 مارس 2006
    نوشته ها:
    1,380
    تشکر شده:
    1,271
    محل سکونت:
    aquarium
    چرا فشرده شده!
    http://nontroppo.org/tools/gziptest/?url=http://www.alipour.ir&uas=&onlyheaders=on
    این هدرا کشککی نیست که اگه محتویات یه صفحه فشرده نشده باشه الکی هدره Gzip واسش ارسال بشه!
    اگه محتوای صفحه فشرده نشده باشه و هدره gZIP ارسال بشه اون صفحه اصلا باز نمیشه تو مرورگر!


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

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    Shiraz
    ممنون از لطفتون ولی چون سایت مال خودم نیست نمی تونم یوزر و پسورد رو به شما بدم
    یه دنیا ممنون از زحمت هایی که کشیدی و جوابهایی که دادی...
     
  20. ghasem_babaie

    ghasem_babaie کاربر تازه وارد

    تاریخ عضویت:
    ‏17 نوامبر 2009
    نوشته ها:
    11
    تشکر شده:
    0
    محل سکونت:
    Shiraz
    مرسی؛ ولی
    کد:
    Content-Type: text/html
    به دلیل اینکه خود صفحه html فشرده شده نمایش داده میشه! توی YSlow و PageSpeed هم میگه که فایل html فشرده شده ولی هیچ کدام از css ها و js ها فشرده نشده!
    سایتی هم که شما توش تست کردی فقط هدر html رو چک می کنه و مسلما اون فشرده شده...
    با این کدها DataTransfer من هیچ فرقی نمی کنه و مشخصه که هیچ کدومش صفحه رو فشرده نمی کنه! با YSlow کار کنید متوجه میشید من چی میگم...
     
  21. tviran

    tviran Registered User

    تاریخ عضویت:
    ‏4 مارس 2010
    نوشته ها:
    103
    تشکر شده:
    4
    ااااااااااایییییییی کاااااااااااااش که بد بوودم و کمکت می کردم
     
  22. tviran

    tviran Registered User

    تاریخ عضویت:
    ‏4 مارس 2010
    نوشته ها:
    103
    تشکر شده:
    4
    ااااااااااایییییییی کاااااااااااااش که بد بوودم و کمکت می کردم