সিএসএস, জেএস এবং চিত্রগুলির জন্য আমি কীভাবে মেয়াদোত্তীর্ণ শিরোনাম সেট করব?


38

আমি সম্প্রতি ফায়ারব্যাগে পেজস্পিড অ্যাডনের সাথে আমার ওয়েবসাইটটি বিশ্লেষণ করেছি। এটি আমাকে সিএসএস, জেএস এবং চিত্র ফাইলগুলিতে মেয়াদোত্তীকরণ সেট করার পরামর্শ দিয়েছিল।

আমি ভাবছি আমি কীভাবে এটি করব?

উত্তর:


37

আপনার মূল কনফিগারেশনের অংশ হিসাবে নীচের দিকনির্দেশগুলি অন্তর্ভুক্ত করতে আপনার অ্যাপাচি কনফিগারেশন আপডেট করুন :

# 
# associate .js with "text/javascript" type (if not present in mime.conf)
# 
AddType text/javascript .js

# 
# configure mod_expires
# 
# URL: http://httpd.apache.org/docs/2.2/mod/mod_expires.html
# 
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 seconds"
    ExpiresByType image/x-icon "access plus 2692000 seconds"
    ExpiresByType image/jpeg "access plus 2692000 seconds"
    ExpiresByType image/png "access plus 2692000 seconds"
    ExpiresByType image/gif "access plus 2692000 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 2692000 seconds"
    ExpiresByType text/css "access plus 2692000 seconds"
    ExpiresByType text/javascript "access plus 2692000 seconds"
    ExpiresByType application/x-javascript "access plus 2692000 seconds"
    ExpiresByType text/html "access plus 600 seconds"
    ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>

# 
# configure mod_headers
# 
# URL: http://httpd.apache.org/docs/2.2/mod/mod_headers.html
# 
<IfModule mod_headers.c>
    <FilesMatch "\\.(ico|jpe?g|png|gif|swf|css|js)$">
        Header set Cache-Control "max-age=2692000, public"
    </FilesMatch>
    <FilesMatch "\\.(x?html?|php)$">
        Header set Cache-Control "max-age=600, private, must-revalidate"
    </FilesMatch>
    Header unset ETag
    Header unset Last-Modified
</IfModule>

আমি যখন আমার .htaccess ফাইলে রাখি তখন 500 আভ্যন্তরীণ সার্ভার ত্রুটি
পাই

আপনার অ্যাপাচি সেটআপ উপরের তালিকাভুক্ত সমস্ত অপশনকে সমর্থন করতে পারে না। এই সমস্যাটি সমাধানে সহায়তা করতে আমি শীঘ্রই এই উত্তরটি আপডেট করব।
জন কনডে

আমার ড্রুপালটিতে জাভাস্ক্রিপ্ট / সিএসএসের রেফারেন্সগুলি রয়েছে: www.example.com/misc/jquery.js?v=1.4.4 বা www.example.com/sites/all/modules/nice_menus/css/nice_menus.css?mtu293, এটি এই জাতীয় ফাইলগুলির জন্য কাজ করে বলে মনে হচ্ছে না। এটি কি আজকের মতো আপডেট হয়েছে?
আগা

2
@ জনকন্ডে কেন উভয় মেয়াদ শেষ এবং শিরোলেখ? এছাড়াও উদাহরণস্বরূপ কোনও চিত্র বা সিএসএস আপডেট করার সময়, ফাইলটির নতুন নামকরণ করা দরকার? অথবা কোনও সিএসএস ফাইলের জন্য সংস্করণটি কাজ করে: টেস্ট.সিএসএস? 123?
রিসেইগেইনস্ট

14

আপনি আপনার htaccess এ এটি রাখতে পারেন:

<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
ExpiresActive On
ExpiresDefault A2592000
</FilesMatch>

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


2

এটি হোস্ট এবং আপনি কীভাবে এই জিনিসগুলি সার্ভার করবেন তার উপর নির্ভর করে। বিকল্প 1) আপনি যদি সার্ভারটি নিয়ন্ত্রণ করেন তবে প্রতিক্রিয়াতে মেয়াদোত্তীর্ণ শিরোনাম যুক্ত করতে অ্যাপাচি তৈরি করুন বিকল্প 2) আপনি যদি ওয়েব সার্ভারটি নিয়ন্ত্রণ না করেন, বা আপনি চিত্রগুলি / জেএস / সিএসএস / ইত্যাদি সার্ভার করেন তবে আপনি এই শিরোনামটি স্ক্রিপ্ট থেকে সেট করতে পারেন যে তাদের সার্ভার

মনে রাখবেন যে এই ইঙ্গিতগুলি সুপারিশযোগ্য তবে সম্পূর্ণ সত্য নয়। আপনার ওয়েবসাইটটি গতি বাড়ানোর চেয়ে তারা আপনাকে বেশি ব্যান্ডউইথ সংরক্ষণ করতে পারে। সুতরাং আপনার সাইটে যদি আপনার ট্রাফিক কম থাকে তবে এ সম্পর্কে খুব বেশি চিন্তা করবেন না।


আমি বিকল্প 2 সহ আছি আমি কীভাবে স্ক্রিপ্ট থেকে এই শিরোনামগুলি সেট করব। স্ক্রিপ্ট মানে পিএইচপি বা কোনটি?
কুলকবিন

আপনি স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 2185449/… পরীক্ষা করতে পারেন এটি একটি অজগর উদাহরণ, তবে আপনি যদি প্রোগ্রামিংয়ের সাথে পরিচিত হন তবে আমি মনে করি আপনি এই ধারণাটি পেয়ে যাবেন। পিএইচপি-তে আপনাকে শিরোনাম () ব্যবহার করতে হবে। তবে মনে রাখবেন যে এক্ষেত্রে সমস্ত "স্ট্যাটিক" ফাইলগুলি স্ক্রিপ্টের জন্য ট্রুপ পরিবেশন করতে হবে যা আপনার সিপিইউ কোটা বাড়িয়ে তুলবে। এখন এটি আমার কাছে 3 য় বিকল্প রয়েছে। এই ফাইলগুলির জন্য সিডিএন ব্যবহার করুন।
ইলিয়ান ইলিভ

2

লাইটস্পিড ওয়েব সার্ভারে সেটআপের মেয়াদ শেষ হয়

প্রশাসক কনসোলে লগইন করুন> সার্ভার-> সাধারণ-> সেটিংসের মেয়াদ শেষ হয়-> টাইপ করে মেয়াদ শেষ হয়

নিম্নলিখিত যুক্ত করুন:

text/css=A604800, text/javascript=A604800, application/javascript=A604800, application/x-javascript=A604800, application/x-shockwave-flash=A604800, image/gif=A604800, image/jpg=A604800, image/jpeg=A604800, image/png=A604800, image/ico=A604800, image/icon=A604800

604800 হ'ল মেয়াদ শেষ হওয়ার সেকেন্ড, যা আপনার প্রয়োজনের জন্য উপযুক্ত হওয়া উচিত কারণ এটির 168 ঘন্টা যা 7 দিন। অতিরিক্ত হালকা গতি সার্ভার একটি htaccess ব্যবহার করে যা আপনাকে নিম্নলিখিত লাইনটি যুক্ত করতে হবে:

ExpiresActive On

বিকল্পভাবে যদি আপনার কাছে অ্যাডমিন কনসোল অ্যাক্সেস না থাকে তবে নীচের .htaccess ফাইলটি ব্যবহার করে দেখুন:

  ExpiresByType image/png A604800
  ExpiresByType image/gif A604800
  ExpiresByType image/jpg A604800
  ExpiresByType image/jpeg A604800
  ExpiresByType text/javascript A604800
  ExpiresByType application/x-javascript A604800
  ExpiresByType text/css A604800
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.