PHP হোস্টিংয়ে React Router

আপনি ইতিমধ্যেই জানেন, 빌্ড করার পরে React প্রকল্পটি একটি সাধারণ স্ট্যাটিক ফাইল হয়ে যায়, যেটি যেকোনো হোস্টিংয়ে আপলোড করা যেতে পারে, এবং সেখানে এটি অবিলম্বে কাজ করবে।

যাইহোক, React Router নিয়ে একটি সমস্যা আছে। ব্যাপারটি হল, Router কাজ করার সময় ব্রাউজারে পৃষ্ঠার URL পরিবর্তন করে। এক্ষেত্রে পৃষ্ঠাটি প্রকৃতপক্ষে রিলোড হয় না, কেবল JavaScript এর মাধ্যমে URL পরিবর্তন হয়।

হোস্টিংয়ে আপলোড করা সাইটে, Router কাজ করবে। কিন্তু, যদি মূল পৃষ্ঠা ছাড়া অন্য কোনো পৃষ্ঠায় থাকা অবস্থায় সেটি রিলোড করা হয়, তাহলে 404 ত্রুটি দেখাবে।

এটি যৌক্তিক, কারণ ব্রাউজারটি সাধারণত স্ট্যাটিক সাইটগুলি যেমন কাজ করে তেমনভাবে প্রদত্ত URL অনুসারে ফাইল খুঁজবে। আর আমাদের অ্যাপ্লিকেশনে সেই পৃষ্ঠাটি থাকবে না, কারণ আমরা কেবল সেগুলি অনুকরণ করছি, আর বাস্তবে আমাদের সম্পূর্ণ অ্যাপ্লিকেশন index.html-এ কাজ করে।

সমস্যার সমাধান করার জন্য এটি করতে হবে, যে সমস্ত URL বাস্তবে বিদ্যমান ফাইলের দিকে নির্দেশ করে না, সেগুলি যেন index.html-এ পুনঃনির্দেশিত হয়। এটি হোস্টিংয়ে চলমান ওয়েব সার্ভারের মাধ্যমে করা হয়।

ভার্চুয়াল হোস্টিংগুলি PHP-তে কাজ করে। সাধারণত সার্ভার হিসেবে Apache ব্যবহার করা হয়। সেখানে একটি বিশেষ ফাইল .htaccess উপলব্ধ থাকে, যার সাহায্যে পুনঃনির্দেশনা নির্ধারণ করা যেতে পারে।

এজন্য আপনার সাইটের রুটে নিম্নলিখিত বিষয়বস্তু সহ .htaccess ফাইলটি স্থাপন করতে হবে:

.htaccessRewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
Задание 1

React Router সহ একটি প্রকল্প তৈরি করুন।

Задание 2

এটিকে হোস্টিংয়ে আপলোড করুন। নিশ্চিত হোন যে, ডিফল্টভাবে রাউটিং কাজ করছে না।

Задание 3

.htaccess ফাইলের সাহায্যে সমস্যাটি সমাধান করুন।