حذف index.php در کدایگنایتر
همانطور که همهی برنامه نویسان کدایگنایتر میدانند در این فریمورک شما تمامی درخواستها را با فایل index.php دریافت خواهید کرد. اما مشکل اینجاست که هیچ وبسایتی این index.php را در آدرس خود نگه نخواهد داشت.
این آموزش کاربردی را حتما بخوانید.
حذف index.php در فریم ورک کدایگنایتر
زیبایی آدرسهای فریمورکهای تحت وب به کارایی آنها با کمک Routerها است؛ اما با قرارگیری یک index.php در اول آدرسهای شما این زیبایی از شما سلب خواهد شد. برای حذف index.php در فریم ورک codeigniter میتوانید از روش زیر استفاده کنید.
مراحل حذف index.php در کدایگنایتر
- ابتدا فایل .htaccess را که در بخش root هاست یا localhostتان موجود است را باز کنید.
- حالا کد زیر را به آخر فایل .htaccess خود اضافه کنید.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] - حالا آدرسهای شما از آدرس www.site.com/index.php/controller/method به www.site.com/controller/method تغییر خواهد کرد.
فایل .htaccess ندارم 🙁
فایل .htaccess در ویندوز به راحتی قابل ساخت نیست زیرا در سیستم فایل ویندوز فایل بدون نام نمیتوانید بسازید؛ البته این فایل در سیستم عامل لینوکس و سرورهای لینوکسی به راحتی قابل ساخت هستند. برای راحتی کار شما این فایل را برای شما به اشتراک خواهیم گذاشت تا مشکلی در ایجاد این فایل نداشته باشید.
لینک دانلود:
- دانلود htaccess خام
- دانلود htaccess مخصوص codeigniter (مخصوص این آموزش)
htaccess چیست ؟
فایل .htaccess برای ایجاد پیکربندی در دایرکتوری های مختلف در سرورهای تحت آپاچی به کار میرود و در صورتی مورد استفاده قرار میگیرد. کاربرد این فایل پیکربندی و تنظیمات مختلف است.
اگر روشهای بهتری میشناسید به ما معرفی کنید تا با نام خودتان به اشتراک بگذاریم.
منتظر نظرات شما کاربران عزیز هستیم.



















چرا بدون htaccess اصلا مسیرها کار نمیکنن؟
فایل htaccess فایل تنظیمات وب سرور آپاچی شماست.
من این روشو روی هاست دایرکت ادمین تست کردم
موفق باشید.
روی لوکالهاست زمپ هم این روش جواب میده؟
بله، روی XAMPP هم کار میکنه، فقط باید مطمئن باشی ماژول mod_rewrite تو Apache فعال باشه.
اگه فایل htaccess کار نکنه باید چی کار کنیم؟
اول مطمئن شو که mod_rewrite فعاله و تو تنظیمات Apache بخش AllowOverride روی All باشه، بعد کش مرورگر رو پاک کن.
این روش رو روی nginx هم میشه اجرا کرد؟
برای Nginx باید معادل قوانین htaccess رو تو فایل کانفیگ سرور بنویسی، چون Nginx مستقیماً htaccess رو پشتیبانی نمیکنه.