কেন আপাচি প্যারামিটারগুলি সহ সিএসএস বা জেএসপি ফাইলগুলি জিজিপ করে না?


8

কিছু সিএসএস এবং জেএস ফাইলগুলি মোড_ডিফলেট সক্ষম করে অ্যাপাচি দ্বারা সংকুচিত হয় না। এই ফাইলগুলি ওয়াইস্লোতে এই "[ডোমেন.নেম] /aggregator.css? ..." বা "[ডোমেন.নাম] /misc/jquery.js? ..." এর মতো দেখাচ্ছে। অন্যান্য সিএসএস ও জেএস ছাড়া "?" সংকুচিত হয়। দয়া করে আমাকে ব্যাখ্যা করুন কীভাবে আমি এই ফাইলগুলিকেও আপাচি তৈরি করতে পারি।

আমি .htaccess ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করেছি

  <IfModule mod_deflate.c>
        <FilesMatch "\.(css|js|x?html?|php)$">
           SetOutputFilter DEFLATE
        </FilesMatch>
  </IfModule>

ধন্যবাদ

উত্তর:


5

এইচআরএম, আকর্ষণীয়। আমি এটি পুনরুত্পাদন করতে পারি না:

[root@dev ~]# cat /etc/httpd/conf.d/test.conf
<FilesMatch "\.txt$">
  SetOutputFilter DEFLATE
  Header set X-Ping "Pong"
</FilesMatch>

[root@dev ~]# GET -SedH 'Accept-Encoding: gzip, deflate' 'http://localhost/test.txt'
GET http://localhost/test.txt --> 200 OK
Content-Encoding: gzip
Content-Length: 2449
X-Ping: Pong

[root@dev ~]# GET -SedH 'Accept-Encoding: gzip, deflate' 'http://localhost/test.txt?foo'
GET http://localhost/test.txt?foo --> 200 OK
Content-Encoding: gzip
Content-Length: 2449
X-Ping: Pong

(সম্পর্কযুক্ত শিরোনাম সরানো হয়েছে)

উপরে উল্লিখিত হিসাবে , ইউআরআই নয়, ফাইল সিস্টেমের সাথেFilesMatch মেলে । যে সংস্থানগুলি ফাইল সিস্টেমে ফাইলগুলি সংকুচিত করা হচ্ছে না বা সেগুলি ফ্লাইয়ে উত্পন্ন, বা প্রক্সড, বা পুনঃনির্দেশিত বা অন্য কিছু যা সরাসরি ইউআরআই-থেকে-ফাইল সিস্টেম ম্যাপিংকে ভেঙে দেয়? ব্যবহার করে আপনি চেষ্টা করে দেখতে পারেন LocationMatch পরিবর্তে, যা সম্ভবত একটি ভাল বাজি যাহাই হউক না কেন যদি আপনার অ্যাপ কোন অংশ স্ট্যাটিক ফাইল নয়।

<IfModule mod_deflate.c>
  <LocationMatch "\.(css|js|x?html?|php)$">
     SetOutputFilter DEFLATE
  </LocationMatch>
</IfModule>

প্রতিক্রিয়া জন্য ধন্যবাদ মার্ক। আপনার সমাধানটি কাজ করছে বলে মনে হচ্ছে।

লোকেশনম্যাচের কাজ করার জন্য কি কিছু সক্ষম করার দরকার আছে? আমি এই সমাধানটি ব্যবহার করার চেষ্টা করেছি এবং এটি একটি অভ্যন্তরীণ ত্রুটির কারণ ঘটায় তবে ফাইলম্যাচ কাজ করে ...
পল

না, তারা উভয়ই সার্ভার কোরের অংশ। আপনার কনফিগারেশন স্নিপেট এবং ত্রুটি বার্তা দিয়ে অন্য একটি প্রশ্ন খুলুন এবং আমরা একবার নজর দেব।
মার্কড্রেটন

1
শিরোনামের জন্য +1 এক্স-পিং "পং" সেট করুন
এডি বি

এই ক্যাশে প্রতিক্রিয়া না কি এটি একই জেএস / সিএসএস ফাইলে প্রতিটি পরবর্তী অনুরোধে গ্রিজিপ করবে?
amit প্যাটেল

0

আপনার নিয়মিত প্রকাশের শেষে $ URL টির শেষের সাথে মিলবে, তাই যদি ফাইল এক্সটেনশনের পরে কিছু থাকে তবে এটি মেলে না। আপনি om বাদ দিতে পারেন তবে ইউআরএলের যে কোনও জায়গায় ".css" ইত্যাদি থাকলে এটি মিলবে। নীচের উদাহরণের মতো কিছু নিরাপদ হতে পারে। এটি URL এর শেষে ".css", বা ".css" এর পরে মিলিত হওয়া উচিত? কিছু পরামিতি এবং তারপরে URL এর শেষে।

   <IfModule mod_deflate.c>
        <FilesMatch "\.(css|js|x?html?|php)($|\?.*$)">
           SetOutputFilter DEFLATE
        </FilesMatch>
   </IfModule>

1
আমি এটা সঠিক মনে করি না। ফাইলম্যাচ একটি ইউআরআই নয়, একটি ফাইল সিস্টেম ফাইলের সাথে মেলে। অবস্থান ম্যাচটি ইউআরআইয়ের সাথে মেলে (তবে এটি কেবল ইউআরআই দেখায়, ক্যোরি স্ট্রিংটি নয়)।
মার্কড্রেটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.