رفتار فایل index.php در PHP

مفهوم فایل پیش‌فرض (Default File)

در محیط‌های وب‌سرور مانند XAMPP، WAMP یا سرورهای واقعی (Apache, Nginx)، فایل با نام index.php یا index.html به عنوان فایل پیش‌فرض یا فایل اصلی پوشه شناخته می‌شود.

به این معنی که اگر در مرورگر فقط نام پوشه را بنویسید، سرور به صورت خودکار به دنبال یکی از فایل‌های پیش‌فرض مانند زیر می‌گردد:

index.php
index.html
index.htm

و اولین فایلی که پیدا کند را اجرا می‌کند.


مثال عملی

فرض کنید در مسیر زیر یک پروژه دارید:

htdocs/myproject/index.php

در حالت معمول برای باز کردن آن باید بنویسید:

http://localhost/myproject/index.php

اما از آنجایی که index.php فایل پیش‌فرض است، می‌توانید فقط بنویسید:

http://localhost/myproject/

و سرور خودش index.php را اجرا می‌کند.


دلیل این رفتار

این رفتار در تنظیمات سرور (مانند Apache) تعریف شده است. در فایل پیکربندی Apache معمولاً بخشی به نام DirectoryIndex وجود دارد:

DirectoryIndex index.php index.html index.htm

این دستور به سرور می‌گوید هنگام باز شدن یک مسیر، به ترتیب بالا به دنبال فایل‌های ذکر شده بگردد.


نکته مهم

اگر در یک پوشه هیچ‌کدام از فایل‌های index.php یا index.html وجود نداشته باشد، و نمایش فهرست دایرکتوری (directory listing) فعال باشد، مرورگر فهرست فایل‌های موجود در آن پوشه را نشان می‌دهد. در غیر این صورت، خطای 403 Forbidden نمایش داده می‌شود.


کاربرد در پروژه‌های PHP

  • فایل index.php معمولاً صفحه اصلی سایت یا نقطه ورود برنامه است.
  • در فریم‌ورک‌هایی مانند Laravel یا CodeIgniter، تمام درخواست‌ها از طریق index.php پردازش می‌شوند (به عنوان Router اصلی).
  • در وردپرس (WordPress) نیز، فایل index.php یکی از فایل‌های کلیدی قالب و سیستم مدیریت محتوا است.

جمع‌بندی

✅ اگر فایل شما index.php نام داشته باشد:

  • نیازی به نوشتن نام آن در آدرس مرورگر نیست.
  • سرور آن را به‌صورت خودکار به عنوان فایل اصلی اجرا می‌کند.
  • این ویژگی به‌صورت پیش‌فرض در بیشتر سرورها فعال است.

نتیجه: نام‌گذاری فایل اصلی به صورت index.php باعث ساده‌تر شدن آدرس‌ها و استانداردتر شدن ساختار وب‌سایت می‌شود.