লারাভেল অ্যাপ্লিকেশনে URL হতে public রিমুভ করার উপায়।

বিভাগ: লারাভেল টিপস এন্ড ট্রিক্‌স


লোকালহোস্টে আমরা যখন লারাভেল ফ্রেমওয়ার্ক সেটাপ করি তখন php artisan serve কমান্ড ছাড়া অ্যাপ্লিকেশনের প্রতিটি রাউট অ্যাকসেস করার জন্য ইউআরএল এ আমরাদের public কথাটি লিখতে হয়। যেমন আপনার একটি রাউট যদি হয় home তখন এই রাউটটি php artisan serve কমান্ড ছাড়া সরাসরি যদি অ্যাকসেস করতে চান তাহলে আপনার URL এ লিখতে হবে http://localhost/your-project/public/home এইভাবে যতটি রাউট থাকবে প্রতিটিকে অ্যাকসেস করতে আমাদের public কথাটি লিখতে হবে। এই public কথাটি রিমুভ করার সুবিধা হচ্ছে যখন আপনি আপনার অ্যাপ্লিকেশন কোন শেয়ার হোস্টিং এ হোস্ট করবেন তখন। কেননা শেয়ার হোস্টিং এ কমান্ড লিখার জন্য প্রায় কোম্পানীগুলো আপনাকে সুবিধা দিবে না। আর public কথাটি রিমুভ করার সব চেয়ে বড় সুবিধা হল অ্যাপ্লিকেন রান করে দেখার জন্য প্রতিবার php artisan serve কমান্ডটির প্রয়োজন হয় না। আমরা যেভাবে রেগুলার php অ্যাপ্লিকেশন ডেভেলপমেন্টে সরাসরি অ্যাকসেস করি সেভাবে অ্যাকসেস করা যায়। অনেক কথাই হল এবার দেখি কি করে সহজে এই পাবলিক কথাটি ছাড়া লারাভেল অ্যাপ্লিকেশন কমান্ড ছাড়াও অ্যাকসেস করা যায়।

এই পদ্ধতিটি ব্যবহার করার পর আপনি প্রতিটি রাউট URL এ public কথাটি ছাড়াও অ্যাকসেস করতে পারবেন নিন্মরুপ

আগের অবস্থা বর্তমান অবস্থা
http://localhost/your-project/public/home http://localhost/your-project/home
http://localhost/your-project/public/about http://localhost/your-project/about

URL এ public কথাটি রিমুভ করতে যা যা করাতে হবে

  • আপনার প্রজেক্ট এর পাবলিক ফোল্ডারটি খুলে index.php, robots.txt ফাইল দু'টি কাট করে প্রজেক্টের রুট ফোল্ডারে পেস্ট করুন।
  • এখন যে index.php ফাইলটি রুট ফোল্ডারে নিয়ে এসেছেন ওটি খুলে দু'টি লাইন পরিবর্তন করে সেভ করুন।
আগের কোড পরিবর্তন করতে হবে
require __DIR__.'/../bootstrap/autoload.php';
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once __DIR__.'/bootstrap/app.php';

ব্যাস, কাজ শেষ! এখন টেস্ট করে দেখুন কমান্ড ছাড়াই আপনি রেগুলার যেভোবে পিএইচপি প্রজেক্ট অ্যাকসেস করেন ঠিক সেই রকম ভাবে প্রজেক্টের প্রত্যেকটি রাউট অ্যাসসেস করতে পারছেন।

 

গুরুত্বপূর্ণ কথা: 

১. যদি নতুন প্রজেক্ট হয়: নতুন প্রজেক্ট হলে আপনি যেখানে যেখানে css, js, image লিংক করতে চান সেখানে সেখানে public কথাটি সহ যুক্ত করতে হবে।

২. যদি পুরানো প্রজেক্ট হয়: পুরাতন প্রজেক্টে ইউআরএল হতে public কথাটি রিমুভ করার পর অ্যাপ্লিকেশনের css, js, image লিংকগুলো পাবে না। চিন্তার কোন কারণ নেই। আপনি যেখানে যেখানে css, js, image লিংক ব্যবহার করেছেন সেখানে লিংকগুলোতে public কথাটি জুড়ে দিন। ব্যাস কাজ শেষ।

লিখিত এই টিউটোরিয়ালটি পড়ে কোন প্রকার সমস্যা মনে হলে এটির উপর ইউটিউবে একটি ভিডিও দেয়া আছে। সেটি দেখলে আশা করছি কোন প্রকার আর সমস্যা মনে হবে না। ভিডিওটির লিংক


এই রকম আরো পোষ্ট