এনগিনেক্সের ট্রাই_ফায়ালের সমতুল্য অ্যাপাচি কী?


12

এনগিনেক্সে try_filesএকটি কনফিগার নির্দেশ রয়েছে যা "ফাইলগুলির অস্তিত্বের ক্রম পরীক্ষা করে এবং খুঁজে পাওয়া প্রথম ফাইলটি ফিরিয়ে দেয়"। আমি এটি করতে খুব ঝরঝরে মনে করি

location ~* \.(gif|jpe?g|css|js)$ {
    try_files $uri 404;
}

যা ওয়েব ফ্রেমওয়ার্কগুলিকে বিরক্ত না করে সরাসরি স্ট্যাটিক ফাইলগুলি পরিবেশন করার একটি নিরাপদ উপায়। আমি কীভাবে আপাচে একই জিনিস করতে পারি?


1
আপনি কি সমাধানে গিয়েছিলেন? নির্বাচিত উত্তরটি সত্যই আমার ব্যবহারের ক্ষেত্রে মেলে না।
প্যানিপেটর

উত্তর:


9

আমি সাধারণত মোড_আরাইট দ্বারা এটি সম্পন্ন দেখতে পাই:

 RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
 RewriteRule ^/(.*)$ balancer://app_cluster%{REQUEST_URI} [P,QSA,L]

এর অর্থ "যদি ফাইল সিস্টেমে কোনও ফাইল উপস্থিত না থাকে তবে আমার মোড_প্রক্সি_সামান্য ক্লাস্টারের মাধ্যমে এটির প্রক্সি করুন।" অন্যথায়, ফাইলটি যদি ফাইল সিস্টেমে উপস্থিত থাকে তবে এটি DocumentRootআপনার ভার্চুয়ালহোস্টে সংজ্ঞায়িত সাপেক্ষে অ্যাপাচি দ্বারা পরিবেশন করা হবে ।

তবে এটি আমার প্রিয় উপায় নয়, বেশিরভাগ কারণ এর statজন্য অনুরোধ অনুযায়ী একটি সিস্টেম কল প্রয়োজন would

মোড_প্রক্সির সাহায্যে আপনি ProxyPassMatchঅ্যাপাচি ( ডকুমেন্টেশন দেখুন ) এর নতুন যথেষ্ট সংস্করণ থাকলে আপনি ব্যবহার করতে পারেন । যেমন:

ProxyPassMatch \.(gif|jpe?g|css|js)$ !

কোনটি ব্যবহার করে! অ্যাপাচি নির্দেশ করার জন্য সেই নিয়মিত এক্সপ্রেশনটির সাথে মিলে প্রক্সি অনুরোধ করা উচিত নয়

আপনি যদি অ্যাপাচি-র কোনও পুরানো সংস্করণ ব্যবহার করছেন তবে আপনার কাছে ProxyPassনির্দেশিকা উপলব্ধ থাকবে তবে এটি কেবল ইউআরআই উপসর্গের সাথে মেলে (এটি আমার বর্তমান পছন্দসই পদ্ধতি):

ProxyPass /images !
ProxyPass /stylesheets !

অবশ্যই, যদি আপনি অবশ্যই উপরে বর্ণিত হিসাবে নিয়মিত মত প্রকাশের ম্যাচিং করেন, তবে আপনি কেবলমাত্র উপরের দিকে পোস্ট করা মোড_আরাইট রুলটি সংশোধন করতে পারেন এর বিরুদ্ধে ম্যাচটি উপেক্ষা করার জন্য %{REQUEST_URI}

আশা করি এইটি কাজ করবে!


2
আমি মনে করি "খারাপ" উপায়টি আরও অনুরূপ try_files, কারণ এটি ফাইলটির অস্তিত্ব পরীক্ষা করে। ProxyPassযদিও এটি করার উপায় নেই বলে মনে হচ্ছে ।
ফোনেহে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.