20 নভেম্বর 2019 এর উত্তর:
কমান্ডের সাহায্যে চিত্রের ক্যাশে পুনরুত্থিত করা সকলের পক্ষে সম্ভবপর সমাধান নয় কারণ এমন কোনও ওয়েবসাইটের জন্য প্রচুর পণ্য গ্রহণ করতে অনেক সময় লাগবে। এছাড়াও, আমি কিছু সমস্যার মুখোমুখি হয়েছি যদি আমরা সিএলআই থেকে একটি ক্যাশে চিত্র উত্পন্ন করি তবে এটি কার্যকর হবে। যখন আমরা অ্যাডমিন থেকে চিত্রগুলি ফ্লাশ করি বা ক্যাশেড চিত্রটি ম্যানুয়ালি মুছে ফেলি তখন পৃষ্ঠা পৃষ্ঠায় এটি আবার কোনও ক্যাশে চিত্র তৈরি করে না তাই আমার বার বার পুনর্নিবেষ্ট কমান্ড চালানো দরকার। আমার দৃষ্টিকোণ অনুসারে, পৃষ্ঠার লোডে চিত্রের ক্যাশে তৈরি করা সবচেয়ে ভাল সমাধান।
ডিফল্ট প্রবাহ
ডিফল্ট ম্যাজেন্টো প্রবাহটি যখনই ইমেজ (মিডিয়া) লোড করে, এটি সর্বদা পাব / get.php এর অনুরোধের মধ্য দিয়ে যায় এবং চিত্রটি উপস্থিত আছে কিনা তা যাচাই করে। এটি উপস্থিত না থাকলে এটি একটি নতুন ক্যাশেড চিত্র তৈরি করবে। যদি এটি বিদ্যমান থাকে তবে এটি সেই পথে ফিরে আসবে। সুতরাং ডিফল্টরূপে চিত্রটি পৃষ্ঠা লোডে উত্পন্ন করা উচিত।
আমরা নীচের ফাইলগুলিতে যুক্তি দিয়ে এই পাসটি পরীক্ষা করতে পারি
pub/media/.htaccess
জন্য Apache সার্ভার
RewriteRule .* ../get.php [L]
.............................
.............................
nginx.conf.sample
জন্য nginx সার্ভার
location /media/ {
try_files $uri $uri/ /get.php$is_args$args;
.......................................
.......................................
এই যুক্তিটি কীভাবে কাজ করছে তা যাচাই করবেন?
রাখুন echo "test";exit;
পাব / get.php শুরুর এবং কোন ক্যাশে মিডিয়া URL লোড, এটা পরীক্ষা প্রিন্ট করা উচিত নয়। অন্যথায় আপনার সার্ভার কনফিগারেশনে কিছু ভুল wrong
আমার জন্য, যখনই আমি ক্যাটালগ ক্যাশে ডিরেক্টরিটি মুছে ফেলি (আরএম-আরএফ পাব / মিডিয়া / ক্যাটালগ / পণ্য / ক্যাশে / *) এর পরে যখন আমরা পৃষ্ঠাটি লোড করব এটি কোনও নতুন ক্যাশেড চিত্র তৈরি করবে না এবং এটি 404 পৃষ্ঠাতে পাওয়া যায়নি এবং খুঁজে পাওয়া যায় না এবং এছাড়াও এটি get.php পৌঁছায় না । আমি তখন লক্ষ্য করেছি যে অনেকগুলি ফোল্ডারের ফোল্ডারের জন্য 755 এবং ফাইলগুলির জন্য 644 এর চেয়ে পৃথক পৃথক অনুমতি রয়েছে। আমি সঠিক অনুমতি সেট করার পরে, এটি ঠিকঠাক কাজ করে।
আমি আশা করি এটি কিছু ধারণা দেয়।