এর মতো পুনর্লিখনের কনফিগারেশনটি যথাযথভাবে বিচ্ছিন্ন করার জন্য কোনও বিল্টই নেই। আপনি নিতে পারেন তিনটি পন্থা আছে।
মানচিত্র মডিউল অন্তর্ভুক্ত
মানচিত্র মডিউল আপনাকে একটি আলাদা ফাইল থেকে ম্যাপিং অন্তর্ভুক্ত করতে পারবেন। ফাইলটি পরিবর্তনের পরে এনগিনেক্সকে পুনরায় লোড করতে হবে এবং ম্যাপিং ফাইলটি অবশ্যই সিনট্যাক্টিক্যালি সঠিক হতে হবে তবে এটি কী করা যায় তা সীমাবদ্ধ করে।
nginx.conf
:
map $uri $new {
include /etc/nginx/marketing.map;
}
server {
...
if ($new) {
rewrite ^ $new redirect;
}
...
}
marketing.map
:
/about /company/about-us;
~^/people/(?<person>.*)$ /company/people/$person;
প্রাক প্রক্রিয়া কনফিগারেশন
প্রথমটি হ'ল একটি স্ক্রিপ্ট লিখুন যা আপনাকে এমন কোনও ফর্ম্যাট থেকে পুনর্নির্দেশগুলি রূপান্তর করে যা আপনি এনগিনেক্স কনফিগারেশনে সংজ্ঞায়িত করেছেন। উদাহরণস্বরূপ, স্থান পৃথক পুনঃনির্দেশগুলির একটি তালিকা দেওয়া হয়েছে:
/foo/(.*) /bar/$1
এবং একটি স্ক্রিপ্ট:
#!/bin/sh
while read SOURCE DEST; do
echo "rewrite $SOURCE $DEST permanent;"
done < redirects.txt > redirects.conf
নিম্নলিখিত কনফিগারেশন গঠন:
rewrite /foo/(.*) /bar/$1 permanent;
তারপরে আপনি nginx -t
পুনরায় লোড করার আগে এটি বৈধ কিনা তা পরীক্ষা করতে পুরো কনফিগারেশনটি চালাতে চান ।
অন ফ্লাই প্রসেসিং
দ্বিতীয় বিকল্পটি হ'ল ngx_lua , ngx_perl বা ngx_js ব্যবহার করতে এবং পড়তে এবং প্রয়োগ করতে প্রক্রিয়াকরণের জন্য আপনার পুনঃনির্দেশ কনফিগারেশন নিজেই এনজিএক্স gin উদাহরণস্বরূপ, rewrite_by_lua
নির্দেশিকা আপনাকে পুনরায় লেখার জন্য লুয়া কোড সম্পাদন করতে দেয় । আপনি প্রতিটি অনুরোধের জন্য কোড ব্যাখ্যায় থাকবেন তবে আপনাকে অভিনয়ের বিষয়ে সতর্কতা অবলম্বন করা উচিত।