রিডাইরেক্ট রুল জেনারেটর এর কার্যপ্রণালী
রিডাইরেক্ট রুল জেনারেটর হলো একটি বিশেষায়িত টুল যা আপনার ওয়েবসাইট স্থানান্তরের সময় বা ইউআরএল (URL) কাঠামো পরিবর্তনের জন্য প্রয়োজনীয় রিডাইরেক্ট কোড তৈরি করে। আপনি যে ওয়েবসাইটের ঠিকানাগুলো থেকে রিডাইরেক্ট করতে চান এবং যে নতুন ঠিকানাগুলোতে পাঠাতে চান, তার একটি তালিকা একটি CSV ফাইলের মাধ্যমে এই টুলে প্রদান করতে হয়। টুলটি আপনার ইনপুট করা তালিকা বিশ্লেষণ করে আপনার নির্দিষ্ট করা ওয়েব সার্ভার বা হোস্টিং প্ল্যাটফর্মের জন্য উপযুক্ত কোড তৈরি করে দেয়।
এই টুলটি ব্যবহার করার জন্য আপনাকে একটি CSV ফাইল আপলোড করতে হবে, রিডাইরেক্টের ধরন হিসেবে স্থায়ী (Permanent) বা অস্থায়ী (Temporary) নির্বাচন করতে হবে এবং আপনার ওয়েব এনভায়রনমেন্ট (Nginx, Apache বা Vercel) নির্ধারণ করতে হবে। এরপর টুলটি স্বয়ংক্রিয়ভাবে রিডাইরেক্ট নিয়ম বা রুলস তৈরি করে যা আপনি সরাসরি কপি করতে পারেন অথবা ফাইল হিসেবে ডাউনলোড করে নিতে পারেন।
ডেটা প্রসেসিং এবং গোপনীয়তা
এই টুলটি ব্যবহারের ক্ষেত্রে আপনার ডেটার গোপনীয়তা সম্পূর্ণভাবে বজায় থাকে। আপনার আপলোড করা CSV ফাইল এবং তৈরি করা রিডাইরেক্ট নিয়মগুলো আপনার ব্রাউজারেই থাকে। BroBroGo-তে কোনো ফাইল বা তথ্য আপলোড করা হয় না। সম্পূর্ণ প্রক্রিয়াটি স্থানীয়ভাবে আপনার ব্রাউজারের অভ্যন্তরে সম্পন্ন হয়।
ইনপুট ফাইলের গঠন ও সীমাবদ্ধতা
টুলটিতে সঠিকভাবে ডেটা ইনপুট করার জন্য CSV ফাইলটিকে একটি নির্দিষ্ট নিয়মে সাজাতে হবে।
- কলামের নাম: CSV ফাইলের প্রথম সারিতে বা হেডারে অবশ্যই দুটি কলাম থাকতে হবে। কলাম দুটির নাম হতে হবে
sourceএবংtarget(অথবাdestination)। - উৎস ইউআরএল (Source URL) ফরম্যাট: এটি একটি সম্পূর্ণ HTTP বা HTTPS ইউআরএল হতে পারে, অথবা
/দিয়ে শুরু হওয়া একটি পাথ হতে পারে। - গন্তব্য ইউআরএল (Destination URL) ফরম্যাট: এটি একটি সম্পূর্ণ HTTP বা HTTPS ইউআরএল অথবা একটি রুট-রিলেটিভ পাথ হতে পারে।
- ফাইলের আকার: আপলোড করা CSV ফাইলের সাইজ অবশ্যই 5 MB-এর কম হতে হবে।
- ম্যাপিং সীমা: এই টুলটি একবারে সর্বোচ্চ ২,০০০টি ম্যাপিং বা সারি প্রসেস করতে পারে।
রিডাইরেক্টের ধরন: 301 বনাম 302
ওয়েবসাইট মাইগ্রেশন বা ইউআরএল পরিবর্তনের সময় সঠিক এইচটিটিপি (HTTP) স্ট্যাটাস কোড নির্বাচন করা অত্যন্ত গুরুত্বপূর্ণ [Source 2]। এই টুলটি দুই ধরনের রিডাইরেক্ট সমর্থন করে:
- 301 স্থায়ী (Permanent) (স্থায়ী): যখন কোনো ইউআরএল স্থায়ীভাবে নতুন একটি ঠিকানায় স্থানান্তরিত হয়, তখন এই কোডটি ব্যবহৃত হয়। এটি সার্চ ইঞ্জিনগুলোকে নির্দেশ করে যে পুরোনো ইউআরএলটির কার্যকারিতা শেষ এবং এর সমস্ত এসইও (SEO) ভ্যালু বা লিংক জুস নতুন ইউআরএলে স্থানান্তর করা উচিত [Source 2]।
- 302 অস্থায়ী (Temporary) (অস্থায়ী): যখন কোনো ইউআরএল সাময়িকভাবে অন্য কোনো ঠিকানায় রিডাইরেক্ট করার প্রয়োজন হয়, তখন এটি ব্যবহৃত হয়। এটি সার্চ ইঞ্জিনকে জানায় যে পুরোনো ইউআরএলটি ভবিষ্যতে আবারও সক্রিয় হতে পারে, তাই সার্চ ইঞ্জিন ইনডেক্সে পুরোনো ইউআরএলটি অপরিবর্তিত রাখা হয়।
এনভায়রনমেন্ট ভিত্তিক রিডাইরেক্ট সিনট্যাক্স
বিভিন্ন ওয়েব সার্ভার এবং হোস্টিং প্ল্যাটফর্ম রিডাইরেক্ট নিয়মগুলো ভিন্ন ভিন্ন সিনট্যাক্স বা নিয়মে গ্রহণ করে [Source 2]। এই টুলটি তিনটি প্রধান এনভায়রনমেন্টের জন্য কোড তৈরি করতে পারে:
Nginx
Nginx সার্ভারের জন্য তৈরি করা রিডাইরেক্ট নিয়মগুলো সুনির্দিষ্ট এবং হুবহু পাথের সাথে যুক্ত থাকে। Nginx কনফিগারেশনে ব্যবহারের জন্য এটি সঠিক সিনট্যাক্স তৈরি করে, যেখানে উৎসের হোস্টনেম স্বয়ংক্রিয়ভাবে বাদ দেওয়া হয়।
Apache
Apache সার্ভারের জন্য এটি .htaccess ফাইলে ব্যবহারের উপযোগী নিয়ম তৈরি করে। Nginx-এর মতোই Apache-এর আউটপুটও হুবহু উৎসের পাথের সাথে নোঙর বা যুক্ত (anchored) থাকে।
Vercel
Vercel প্ল্যাটফর্মের জন্য এই টুলটি JSON ফরম্যাটে রিডাইরেক্ট রুল তৈরি করে। Vercel-এর নিজস্ব কনফিগারেশনে স্থায়ী সুইচের ফলে 308 এবং অস্থায়ী সুইচের ফলে 307 স্ট্যাটাস কোড তৈরি হয়। কিন্তু এই টুলটি আউটপুটে statusCode ব্যবহার করে, যা নিশ্চিত করে যে আপনার নির্বাচিত স্ট্যাটাস কোডটি যেন হুবহু 301 বা 302 হিসেবেই বজায় থাকে।
নিয়মাবলী এবং বিশেষ সতর্কতা
সঠিকভাবে রিডাইরেক্ট রুল তৈরি করার জন্য কিছু নিয়ম এবং সীমাবদ্ধতা মেনে চলতে হবে:
- হুবহু মিল (Exact Match): এই টুল দ্বারা তৈরি করা সমস্ত রিডাইরেক্ট হুবহু মিলের ভিত্তিতে কাজ করে।
- হোস্টনেম বর্জন: ইনপুট করা উৎস ইউআরএল থেকে হোস্টনেম (যেমন:
www.example.com) স্বয়ংক্রিয়ভাবে সরিয়ে ফেলা হয় এবং কেবল পাথটি ব্যবহার করা হয়। - কোয়েরি স্ট্রিং এবং ফ্র্যাগমেন্ট: উৎসের ইউআরএলে কোনো কোয়েরি স্ট্রিং (যেমন:
?query=1) বা ফ্র্যাগমেন্ট (যেমন:#section) থাকলে তা প্রত্যাখ্যান করা হয়। উৎস হিসেবে কেবল মূল পাথ ব্যবহার করতে হবে। - ওয়াইল্ডকার্ড ও প্যাটার্ন: উৎসের পাথে কোনো ওয়াইল্ডকার্ড (যেমন:
*) বা রুট-প্যাটার্ন ব্যবহার করা যাবে না। এই জেনারেটরটি কেবল হুবহু উৎস পাথ গ্রহণ করে। - ইউআরএল দৈর্ঘ্য: ইনপুট ফাইলের যেকোনো ইউআরএল-এর দৈর্ঘ্য সর্বোচ্চ ২,০৪৮ অক্ষরের মধ্যে হতে হবে।
- অনন্য উৎস: প্রতিটি উৎস পাথ কেবল একবারই ব্যবহার করা যাবে। একই উৎস পাথ একাধিক সারিতে পুনরাবৃত্তি করা হলে তা ত্রুটি হিসেবে গণ্য হবে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
আমি কীভাবে CSV ফাইলটি ফরম্যাট করব?
উৎস (source) এবং গন্তব্য (target) কলামসহ একটি হেডার সারি ব্যবহার করুন। target-এর পরিবর্তে destination-ও কাজ করবে। পরবর্তী প্রতিটি সারিতে একটি সম্পূর্ণ HTTP বা HTTPS উৎস URL অথবা / দিয়ে শুরু হওয়া একটি পাথ এবং সাথে একটি সম্পূর্ণ বা রুট-রিলেティブ গন্তব্য ব্যবহার করা যেতে পারে।
তৈরি করা রিডাইরেক্টগুলো কি হুবহু মিল (exact match) খোঁজে?
হ্যাঁ। Nginx এবং Apache আউটপুট সুনির্দিষ্ট উৎস পাথের সাথে যুক্ত থাকে এবং Vercel-ও একই হুবহু পাথ গ্রহণ করে। উৎসের হোস্টনেম সরিয়ে ফেলা হয়; উৎসের কোয়েরি স্ট্রিং, ফ্র্যাগমেন্ট এবং ওয়াইল্ডকার্ড-স্টাইল প্যাটার্নগুলো প্রত্যাখ্যান করা হয় কারণ এই তিনটি এনভায়রনমেন্ট সেগুলোকে ভিন্নভাবে পরিচালনা করে।
Vercel আউটপুটে কেন statusCode ব্যবহার করা হয়?
Vercel-এর স্থায়ী সুইচের ফলে 308 এবং অস্থায়ী সুইচের ফলে 307 তৈরি হয়। statusCode ব্যবহার করা হয় যাতে আপনার পছন্দটি হুবহু 301 বা 302 থাকে। স্ট্যান্ডার্ড Vercel ডেপ্লয়মেন্টে মোট ২,০৪৮টি রুটের অনুমতি রয়েছে, তাই এই টুলটি সর্বোচ্চ ২,০০০টি ম্যাপিং গ্রহণ করে।
এই টুলের মাধ্যমে একবারে সর্বোচ্চ কতটি রিডাইরেক্ট তৈরি করা যায়?
এই টুলটি একবারে সর্বোচ্চ ২,০০০টি ম্যাপিং বা সারি গ্রহণ করে এবং প্রসেস করতে পারে। আপনার ফাইলে এর চেয়ে বেশি সারি থাকলে ফাইলটিকে একাধিক ভাগে বিভক্ত করে ব্যবহার করতে হবে।