.htaccess এবং Base URL কনফিগারেশন

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter সেটআপ এবং ইনস্টলেশন |

CodeIgniter-এ .htaccess ফাইল এবং Base URL কনফিগারেশন গুরুত্বপূর্ণ, কারণ এগুলো সঠিকভাবে কনফিগার না করলে অ্যাপ্লিকেশন সঠিকভাবে কাজ করতে পারে না। নিচে ধাপে ধাপে .htaccess এবং Base URL কনফিগারেশন প্রক্রিয়া দেখানো হয়েছে।


.htaccess কনফিগারেশন

CodeIgniter-এ .htaccess ফাইল ব্যবহার করা হয় URL রিরাইটিং এবং index.php সরিয়ে ফেলার জন্য। এটি Apache সার্ভারে কাজ করে এবং ডিফল্টভাবে ফ্রেমওয়ার্কের public/ ফোল্ডারে সংরক্ষিত থাকে।

.htaccess ফাইল তৈরি বা এডিট

  1. public/ ডিরেক্টরিতে একটি .htaccess ফাইল তৈরি করুন (যদি না থাকে)।
  2. নিচের কোডটি ফাইলটিতে যোগ করুন:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
    
        # Prevent access to system and writable folders
        RewriteRule ^(system|writable) index.php [F,L]
    
        # Remove index.php from URL
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    

Apache মডিউল সক্রিয় করুন

আপনার সার্ভারে mod_rewrite মডিউল সক্রিয় আছে কিনা নিশ্চিত করুন। যদি সক্রিয় না থাকে:

  1. XAMPP-এ httpd.conf ফাইল খুলুন।
  2. নিচের লাইনটি আনকমেন্ট করুন (যদি কমেন্ট করা থাকে):

    LoadModule rewrite_module modules/mod_rewrite.so
    
  3. Apache সার্ভার রিস্টার্ট করুন।

Base URL কনফিগারেশন

Base URL হলো অ্যাপ্লিকেশনের মূল URL। এটি সঠিকভাবে সেট না করলে বিভিন্ন রিসোর্স (CSS, JS, ইমেজ) লোড হতে পারে না এবং লিংক ঠিকমতো কাজ করবে না।

Base URL সেটআপ

  1. app/Config/App.php ফাইলটি খুলুন।
  2. $baseURL প্রপার্টি সঠিকভাবে কনফিগার করুন:

    public $baseURL = 'http://localhost/your_project_name/';
    
  3. যদি আপনি custom domain ব্যবহার করেন, তাহলে সেটি যোগ করুন:

    public $baseURL = 'http://example.com/';
    

HTTPS ব্যবহার

যদি আপনার সার্ভার HTTPS সমর্থন করে, তাহলে Base URL এ http এর পরিবর্তে https ব্যবহার করুন:

public $baseURL = 'https://example.com/';

Common Issues এবং সমাধান

Issue: .htaccess কাজ করছে না

  • সমাধান:
    1. Apache এর mod_rewrite মডিউল সক্রিয় আছে কিনা নিশ্চিত করুন।
    2. AllowOverride All সেটিং চেক করুন:
      • Apache কনফিগারেশন ফাইলে (যেমন: httpd.conf) নিম্নলিখিত পরিবর্তন করুন:

        <Directory "C:/xampp/htdocs">
            AllowOverride All
        </Directory>
        

Issue: URL এ index.php দেখাচ্ছে

  • সমাধান:
    1. .htaccess ফাইল সঠিকভাবে কাজ করছে কিনা চেক করুন।
    2. Base URL সঠিকভাবে কনফিগার করুন।

উদাহরণ: .htaccess এবং Base URL একত্রে কাজ করা

ধরুন, আপনার প্রজেক্টের নাম my_project এবং আপনার সার্ভার localhost। তাহলে:

  • .htaccess ফাইল:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /my_project/
    
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    
  • app/Config/App.php ফাইলের $baseURL:

    public $baseURL = 'http://localhost/my_project/';
    

পরীক্ষার জন্য ব্রাউজারে চেক করুন

URL এর মাধ্যমে অ্যাপ্লিকেশন অ্যাক্সেস

  1. ব্রাউজারে যান:

    http://localhost/my_project/
    

index.php অপসারণ নিশ্চিতকরণ

  • লিংকে index.php থাকবে না, যেমন:

    http://localhost/my_project/controller/method
    

সঠিক .htaccess এবং Base URL কনফিগারেশনের মাধ্যমে CodeIgniter অ্যাপ্লিকেশন দ্রুত এবং নির্ভুলভাবে কাজ করবে।

Content added By
Promotion