وب‌سرور وقتی آدرس یک دامنه را می‌گیرد، به پوشه‌ی آن دامنه (Document Root) می‌رود و دنبال فایلی به نام index می‌گردد. اگر فایل‌ها را در پوشه‌ی اشتباه گذاشته باشید، یا فایل index وجود نداشته باشد، یکی از این سه را می‌بینید: فهرست فایل‌ها (Index of)، خطای ۴۰۳، یا صفحه‌ی پیش‌فرض سرور. راه رفع، گذاشتن فایل‌ها در پوشه‌ی درست است.

چه می‌بینید و یعنی چه؟

نمایش معنی
«Index of /» و فهرست فایل‌ها پوشه فایل index ندارد و فهرست‌گیری روشن است
403 Forbidden پوشه فایل index ندارد و فهرست‌گیری خاموش است
صفحه‌ی پیش‌فرض سرور یا «Sorry!» دامنه هنوز روی هاست تعریف نشده، یا DNS تازه عوض شده
فقط یک پوشه دیده می‌شود (مثلاً wordpress) فایل‌ها یک سطح پایین‌تر از جای درست‌اند
سایت قدیمی دیده می‌شود کش مرورگر، یا فایل index قدیمی اولویت بالاتری دارد

پوشه‌ی هر دامنه کجاست؟

در سی‌پنل، Domains را باز کنید. ستون Document Root پوشه‌ی هر دامنه را نشان می‌دهد.

فهرست دامنه‌ها در سی‌پنل با ستون Document Root و Force HTTPS Redirect
ستون Document Root در فهرست دامنه‌های سی‌پنل
نوع دامنه پوشه‌ی معمول
دامنه‌ی اصلی هاست public_html
دامنه‌ی اضافه (Addon) پوشه‌ای که هنگام افزودن انتخاب شده، معمولاً هم‌نام دامنه
ساب‌دامین پوشه‌ای هم‌نام ساب‌دامین
دامنه‌ی Alias (پارک‌شده) همان پوشه‌ی دامنه‌ی اصلی

(دامنه‌ی اضافه، ساب‌دامین، تغییر پوشه‌ی سایت)

رایج‌ترین اشتباه: یک پوشه‌ی اضافه

فایل zip وردپرس یا قالب HTML را در public_html باز می‌کنید و همه‌چیز داخل یک پوشه (مثلاً wordpress یا نام قالب) می‌نشیند. حالا سایت در yourdomain.com/wordpress است و آدرس اصلی خالی. راه رفع:

  1. در File Manager وارد همان پوشه شوید.
  2. Select All را بزنید، سپس Move.
  3. مسیر مقصد را /public_html بگذارید.
  4. پوشه‌ی خالی را حذف کنید.

اگر فایل‌های مخفی (مثل htaccess) را نمی‌بینید، از Settings نمایش آن‌ها را روشن کنید تا جا نمانند. (نمایش فایل‌های مخفی)

فایل index

وب‌سرور به ترتیب دنبال این نام‌ها می‌گردد و اولی را که پیدا کند نشان می‌دهد: index.php، index.html، index.htm و چند نام دیگر. سه نتیجه دارد:

  • نام فایل اصلی سایت باید دقیقاً index باشد، با حروف کوچک. Index.html یا home.html شناخته نمی‌شود.
  • اگر هم index.html قدیمی و هم index.php تازه در پوشه باشند، ممکن است قدیمی نمایش داده شود. فایل اضافه را حذف کنید.
  • ترتیب را می‌شود با یک خط در htaccess عوض کرد: DirectoryIndex index.php index.html

فهرست فایل‌ها را ببندید

دیده شدن فهرست فایل‌ها مسئله‌ی امنیتی است: هر کسی می‌تواند فایل‌های بکاپ و تنظیمات را ببیند و دانلود کند. در سی‌پنل، Indexes را باز کنید و برای پوشه‌ی سایت حالت No Indexing را انتخاب کنید. (تنظیم Indexes)

صفحه‌ی پیش‌فرض سرور

  • دامنه روی هاست اضافه نشده: اگر دامنه‌ی دوم است، باید از بخش Domains اضافه شود.
  • DNS تازه عوض شده: تا ۲۴ ساعت بعضی‌ها هنوز سرور قبلی را می‌بینند. (دامنه ثبت شده ولی سایت باز نمی‌شود)
  • نام‌سرورها به هاست دیگری اشاره می‌کنند. (نیم‌سرور و رکورد A)
  • SSL هنوز صادر نشده و با https وارد شده‌اید؛ سرور سایت پیش‌فرض را نشان می‌دهد. (وضعیت SSL)

سوال‌های رایج

فایل‌ها را در پوشه‌ی خانه (بالاتر از public_html) گذاشته‌ام.

آن‌جا از وب در دسترس نیست. به داخل public_html منتقلشان کنید.

سایت باز می‌شود ولی بدون ظاهر و تصویر.

این موضوع دیگری است: آدرس‌های داخل سایت به مسیر یا دامنه‌ی قبلی اشاره می‌کنند، یا مشکل محتوای ترکیبی است. (محتوای ترکیبی)

می‌خواهم سایت در یک پوشه باشد ولی با آدرس اصلی باز شود.

برای دامنه‌ی اضافه، Document Root قابل تغییر است. برای دامنه‌ی اصلی با قانون htaccess انجام می‌شود. (تغییر پوشه‌ی سایت)