Rewrite engine
ওয়েব অ্যাপ্লিকেশনগুলিতে, একটি পুনর্লিখন ইঞ্জিন হল একটি সফ্টওয়্যার উপাদান যা ইউআরএলগুলিতে (ইউনিফর্ম রিসোর্স লোকেটর) পুনর্লিখন করে, তাদের চেহারা পরিবর্তন করে। এই পরিবর্তনকে বলা হয় ইউআরএল পুনর্লিখন। এটি একটি ওয়েব অ্যাপ্লিকেশনের মধ্যে ইউআরএল ম্যাপিং বা রাউটিং বাস্তবায়নের একটি উপায়। ইঞ্জিন সাধারণত একটি ওয়েব সার্ভার বা ওয়েব অ্যাপ্লিকেশন কাঠামোর একটি উপাদান। পুনর্লিখিত ইউআরএলগুলি (কখনও কখনও সংক্ষিপ্ত, সুন্দর বা অভিনব ইউআরএল, সার্চ ইঞ্জিন বান্ধব-এসইএফ ইউআরএল বা স্লাগ হিসাবে পরিচিত) ওয়েব পৃষ্ঠাগুলিতে সংক্ষিপ্ত এবং আরও প্রাসঙ্গিক লিঙ্ক সরবরাহ করতে ব্যবহৃত হয়। কৌশলটি একটি ওয়েব পেজ তৈরি করতে ব্যবহৃত ফাইল এবং বাইরের বিশ্বের কাছে উপস্থাপিত ইউআরএল-এর মধ্যে বিমূর্ততার একটি স্তর যুক্ত করে। গতিশীল বিষয়বস্তু সহ ওয়েব সাইটগুলি ইউ. আর. এল ব্যবহার করতে পারে যা অনুসন্ধান স্ট্রিং পরামিতি ব্যবহার করে সার্ভার থেকে পৃষ্ঠাগুলি তৈরি করে। এগুলি প্রায়শই একটি সাবডিরেক্টরি শ্রেণিবিন্যাস সহ একটি সাইটে স্ট্যাটিক পৃষ্ঠাগুলির জন্য ইউআরএলগুলির অনুরূপ পুনর্লিখন করা হয়। উদাহরণস্বরূপ, রি-রাইট _ ইঞ্জিন শিরোনাম সহ একটি উইকি পৃষ্ঠার ইউআরএল হতে পারেঃ http://example.com/w/index.php?title=Rewrite_engine তবে এটি পুনরায় লেখা যেতে পারেঃ http://example.com/wiki/Rewrite_engine একটি ব্লগে এমন একটি ইউআরএল থাকতে পারে যা প্রতিটি এন্ট্রির তারিখগুলি এনকোড করেঃ http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19 এটি এইভাবে পরিবর্তন করা যেতে পারেঃ http://www.example.com/Blog/2006/12 19/যা ব্যবহারকারীকে ডিসেম্বরে উপলব্ধ সমস্ত পোস্টিং দেখতে ইউআরএল পরিবর্তন করতে দেয়, কেবল '19' দিনটিকে এনকোডিং করা পাঠ্যটি সরিয়ে, যেন একটি ডিরেক্টরিতে "আপ" নেভিগেট করেঃ http://www.example.com/Blog/2006/12 একটি সাইট ইউআরএল থেকে বিশেষ পদগুলি তার সার্চ ইঞ্জিনে অনুসন্ধান শব্দ হিসাবে পাঠাতে পারে। এটি ব্যবহারকারীদের সরাসরি তাদের ব্রাউজার থেকে অনুসন্ধান করার অনুমতি দেবে। উদাহরণস্বরূপ, ব্রাউজারের অবস্থান বারে প্রবেশ করা ইউআরএলঃ http://example.com/search শব্দটি এইচটিটিপি অনুরোধ করার আগে ব্রাউজার দ্বারা ইউআরলেনকোড করা হবে। সার্ভার এটিকে এইভাবে পুনর্লিখন করতে পারেঃ http://example.com/search.php?q=search%20term সুবিধা এবং অসুবিধাগুলি ইউআরএল পুনর্লিখন ব্যবহার করার বেশ কয়েকটি সুবিধা রয়েছেঃ লিঙ্কগুলি "পরিষ্কার" এবং আরও বর্ণনামূলক, যা ব্যবহারকারী এবং সার্চ ইঞ্জিন উভয়ের কাছেই তাদের "বন্ধুত্ব" উন্নত করে। তারা অবাঞ্ছিত "ইনলাইন লিঙ্কিং" প্রতিরোধ করে, যা ব্যান্ডউইথের অপচয় করতে পারে। সাইটটি একই ইউআরএল ব্যবহার করা চালিয়ে যেতে পারে এমনকি যদি তাদের পরিবেশন করার জন্য ব্যবহৃত অন্তর্নিহিত প্রযুক্তি পরিবর্তন করা হয় (উদাহরণস্বরূপ, একটি নতুন ব্লগিং ইঞ্জিনে স্যুইচ করা)। তবে ত্রুটিগুলিও থাকতে পারে; যদি কোনও ব্যবহারকারী নতুন তথ্য পুনরুদ্ধারের জন্য কোনও ইউআরএল সংশোধন করতে চান, তবে নামযুক্ত ভেরিয়েবলের অভাবে ইউআরএল পুনর্লিখন কাস্টম প্রশ্ন তৈরিতে বাধা সৃষ্টি করতে পারে। উদাহরণস্বরূপ, নিম্নলিখিত বিন্যাস থেকে তারিখ নির্ধারণ করা কঠিন হতে পারেঃ http://www.example.com/Blog/06/04/02 এই ক্ষেত্রে, মূল ক্যোয়ারি স্ট্রিংটি আরও কার্যকর ছিল, কারণ ক্যোয়ারি ভেরিয়েবলগুলি মাস এবং দিন নির্দেশ করেঃ http://www.example.com/Blog/Posts.php?Year=06&Month=04&Day=02 ওয়েব ফ্রেমওয়ার্ক অনেক ওয়েব ফ্রেমওয়ার্কের মধ্যে সরাসরি বা এক্সটেনশন মডিউলের মাধ্যমে ইউআরএল পুনর্লিখন অন্তর্ভুক্ত থাকে। অ্যাপাচি এইচটিটিপি সার্ভারে মোড _ রিরাইট মডিউল দ্বারা প্রদত্ত ইউআরএল পুনর্লিখন রয়েছে। ইউ. আর. এল রি-রাইট মাইক্রোসফট আই. আই. এস-এর এক্সটেনশন হিসেবে পাওয়া যায়। রুবি অন রেলস-এ অন্তর্নির্মিত ইউআরএল রুটের মাধ্যমে পুনর্লিখন করা আছে। জাকার্তা সার্ভলেটের ও. সি. পি. সফ্ট ইউ. আর. এল. আর. রাইট ফিল্টার এবং টাকি ইউ. আর. এল. আর. রাইট ফিল্টারের মাধ্যমে সম্প্রসারণযোগ্য ইউ. আর. এল পুনর্লিখন রয়েছে। জাকার্তা সার্ভার ফেসগুলি প্রিটিফেসসঃ ইউআরএলআর রাইটফিল্টারের মাধ্যমে ইউআরএল পুনর্লিখনকে সহজ করেছে। জ্যাঙ্গো একটি নিয়মিত-অভিব্যক্তি-ভিত্তিক ব্যবস্থা ব্যবহার করে। এটি কঠোরভাবে ইউআরএল পুনর্লিখন নয় কারণ 'পুনর্লিখন' করার জন্য কোনও স্ক্রিপ্ট নেই, এমনকি কোনও ডিরেক্টরি কাঠামোও নেই; তবে এটি ইউআরএল পুনর্লিখনের সম্পূর্ণ নমনীয়তা প্রদান করে। জাভা স্ট্রিপস ফ্রেমওয়ার্কের সংস্করণ 1.5 থেকে সমন্বিত কার্যকারিতা রয়েছে। অনেক পার্ল কাঠামো, যেমন মোজোলিকিয়াস এবং ক্যাটালিস্টের এই বৈশিষ্ট্য রয়েছে। কোডইগনিটারের ইউআরএল পুনর্লিখন প্রদান করা হয়েছে। লাইটটিপিডিতে একটি মোড _ রিরাইট মডিউল রয়েছে। এন. জি. এন. এক্স-এ একটি পুনর্লিখন মডিউল রয়েছে। উদাহরণস্বরূপ, একটি ইউ. আর. আই থেকে একটি মাল্টি-লিঙ্ক মাল্টি-ভেরিয়েবল পেজ জেনারেশন সম্ভব, যেখানে একাধিক পৃথক অংশ যেমন নিয়মিত এক্সপ্রেশনগুলির সাহায্যে ভেরিয়েবলগুলিতে প্রসারিত হয় এবং আরও অনেক কিছু বোঝায়। হিয়াওয়াথা এইচটিটিপি সার্ভারে একটি ইউআরএল টুলকিট রয়েছে যা ইউআরএল পুনর্লিখনকে সমর্থন করে। চেরোকি এইচটিটিপি সার্ভার ইউআরএল পুনর্লিখন এবং পুনর্নির্দেশের নিয়মিত অভিব্যক্তি সমর্থন করে। সফ্টওয়্যার বিকাশের দৃষ্টিকোণ থেকে, ইউআরএল পুনর্লিখন কোড মডুলারাইজেশন এবং নিয়ন্ত্রণ প্রবাহে সহায়তা করতে পারে, যা এটিকে আধুনিক ওয়েব কাঠামোর একটি দরকারী বৈশিষ্ট্য করে তোলে। আরও দেখুন অ্যাপ্লিকেশন ডেলিভারি কন্ট্রোলার এআইস্কেলার ট্রাফিক ম্যানেজার. এইচটিএক্স অ্যাপাচি এইচটিটিপি সার্ভার বিষয়বস্তু আলোচনা এইচটিটিপি ইন্টারনেট তথ্য সার্ভার পারমালিঙ্ক জিউস ওয়েব সার্ভার নোট বাহ্যিক লিঙ্ক অ্যাপাচি মোড _ পুনর্লিখন অ্যাপাচি মোড _ পুনর্লিখন পুনর্লিখন নির্মাণের জন্য সিজিআই ভেরিয়েবল এবং মানগুলির সম্পূর্ণ তালিকা। ইউআরএল