وبلاگ

لیست دایکتوری‌ها در htaccess


رقیه اباذری رقیه اباذری

قبل از شروع کار به یک سوال جواب بدهیم.

htaccess چیست؟

htaccess یک فایل متنی مخفی و بدون پسوند در Public_html است. کار این فایل این است که بعضی از تنظیمات کلی سایت شما را مشخص کند. این فایل می‌تواند در هر دایرکتوری قرار گرفته و رفتار هر دایرکتوری با وب سرور را به صورت مجزا تنظیم کند.

وقتی که یک مرورگر وب به یک دایرکتوری در وب‌سایت شما اشاره می‌کند که فایل index.html (یا هر فایل index دیگری) در آن وجود ندارد، فایل‌های موجود در آن دایرکتوری می‌توانند در یک صفحه وب لیست شوند. گاهی قصد دخل و تصرف در نتایج نمایش داده شده دارید. مثلا پسوند مورد نظر شما نشان داده نشود یا جزئیات بیشتری مثل تاریخ ویرایش، در لیست دایرکتوری نمایش داده شود. در این مقاله چند قطعه کد را با هم بررسی کرده‌ایم که می‌توانند در فایل htaccess اضافه شوند و دستور اجازه یا عدم اجازه لیست‌شدن دایرکتوری در سرور آپاچی را بدهند.

فعال/غیرفعال کردن لیست دایرکتوری

برای اینکه به وب سرور اجازه دهید لیست دایرکتوری را تولید کند، هر زمان که دایرکتوری فاقد فایل index بود. خط زیر را در فایل htaccess.  اضافه کنید.

Options +Indexes 
# or #
IndexIgnore *

اجازه لیست کردن دایرکتوری در htaccess

برای غیرفعال کردن یا جلوگیری از دسترسی به دایرکتوری، خط زیر را در فایل htaccess. اضافه کنید. اگر کاربر آدرسی را در مرورگر خود وارد کند که مرورگر را به یک دایرکتوری فاقد فایل index هدایت کند، در این صورت با ارور 403 روبرو خواهد شد.

Options -Indexes 

در تصویر زیر صفحه خطا را مشاهده می‌کنید. این پیغام خطا را زمانی که قصد دسترسی به یک صفحه بدون فایل index دارید، مشاهده خواهید کرد.

ارور 403 در لیست کردن دایرکتوری

تغییر استایل لیست کردن

هنگام نمایش لیست دایرکتوری، ممکن است بخواهید جزئیات بیشتری را نشان دهید. این جزئیات می‌توانند آیکون‌های فایل، اندازه فایل، تاریخ ویرایش و موارد دیگر باشد. این کار را می‌توانید با اضافه کردن fancy style به فایل htaccess انجام دهید. قطعه کد زیر را در فایل htaccess. اضافه کنید.

IndexOptions +FancyIndexing

fancy style در htaccess

برای حذف لیست دایرکتوری fancy یا نمایش عادی لیست دایرکتوری، از FancyIndex- استفاده کنید.

IndexOptions -FancyIndexing

فایل‌های دارای پسوند خاص را نادیده بگیرید

ممکن است لازم باشد برای نمایش در لیست دایرکتوری، بعضی از فایل‌ها را نادیده بگیرید. با استفاده از دستورالعمل IndexIgnore در فایل htaccess. می‌توانید اینکار را انجام دهید. قطعه کد زیر فایل‌های zip. و txt. را در لیست دایرکتوری نمایش نمی‌دهد.

IndexIgnore *.zip *.txt

اصلاح فایل Index

تغییر فایل index پیش‌فرض از index.html یا (index.php، index.jsp) به هر فایل دیگری امکان‌پذیر است. خط زیر فایل index را به Home.html تغییر می‌دهد.

DirectoryIndex Home.html

رقیه اباذری
رقیه اباذری

تو دانشگاه IT خوندم و اکثر منابع کتاب‌های ترجمه شده بودند و صدالبته مبهم :( مثلا element رو "عنصر" ترجمه می‌کردن و من همیشه می‌رفتم تو شیمی و جدول مندلیف. تو باورژن سعی کردم تا حد ممکن مطالب رو با زبان ساده و قابل درک بنویسم. باشد که کسانی که تازه پا به عرصه برنامه‌نویسی گذاشتن، راغب‌تر بشن و با نظرات و فیدبک‌های شما راه هموارتر بشه:)

مطالب مرتبط

دیدگاه‌ها