htaccess چیست؟
htaccess یک پرونده پیکربندی برای استفاده در سرورهای وب است که نرم افزار Apache Web Server آن را اجرا می کند. هنگامی یک پرونده htaccess در دایرکتوری قرار می گیرد که ‘از طریق وب سرور Apache’ بارگیری شده است. پس از آن پرونده htaccess توسط نرم افزار Apache Web Server شناسایی و اجرا می شود. فایل های htaccess را می توان برای تغییر پیکربندی نرم افزار Apache Web Server استفاده کرد تا قابلیت ها و ویژگی های اضافی دیگری را که نرم افزار Apache Web Server ارائه می دهد، غیرفعال کند. این امکانات شامل قابلیت اصلی جهت یابی مجدد است، به عنوان مثال برای پرونده ای که پیدا نشود خطای 404 نمایش داده شود، یا برای عملکردهای پیشرفته تری مانند حفاظت از رمز عبور محتوا نیز کاربرد دارد.
![htaccess in apache](/wp-content/uploads/2019/11/enable-htaccess-in-apache.jpg)
نحوه استفاده از htaccess
‘htaccess’ به طور کامل نام فایل است، یک پسوند نیست. به عنوان مثال، شما فایلی به نام ‘file.htaccess’ ایجاد نمی کنید، آن را فقط ‘ htaccess ‘می نامید. این فایل در هر پوشه ای که قرار گیرد از طریق نرم افزار Apache Web Server اجرا می شود. این پرونده روی کل دایرکتوری که در آن قرار دارد، تأثیر می گذارد و کلیه پرونده ها و زیر شاخه ها در فهرست مشخص شده قرار دارند.
می توانید با استفاده از هر ویرایشگر متن خوب مانند TextPad ،UltraEdit ،Microsoft WordPad و موارد مشابه (شما نمی توانید از Microsoft NotePad استفاده کنید) یک فایل htaccess ایجاد کنید.
در اینجا مثالی از آنچه ممکن است در فایل htaccess وجود داشته باشد، آورده شده است:
AuthName "Member's Area Name"
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user
ErrorDocument 401 /error_pages/401.html
AddHandler server-parsed .html
این یک مثال نسبتاً پیشرفته است که باعث محافظت از رمز عبور در دایرکتوری می شود. اگر کاربر نتواند به درستی وارد سیستم شود، تغییر مسیر را به صفحه خطای سفارشی ارائه می دهد و SSI (سمت سرور شامل) برای استفاده از پرونده های ‘.html’ امکان پذیر می کند.
هنگامی که یک پرونده htaccess ایجاد کرده اید، که ممکن است شبیه به آنچه در بالا نشان داده شده است (یا ممکن است حاوی یک خط باشد)، باید آن را بارگذاری کنید. این کار باید با استفاده از یک برنامه FTP (پروتکل انتقال پرونده) انجام شود. برای بارگذاری محتوای وب سایت خود باید از آن استفاده کرده باشید. بسیاری از آنها به صورت رایگان از طریق وب سایت هایی مانند ‘Download.com’ در دسترس هستند و دو مدل توصیه شده از آن ها ‘CuteFTP’ و ‘WSFTP’ هستند.
![پرونده htaccess](/wp-content/uploads/2019/11/301-redirect-wordpress-htaccess-1.png)
هنگام بارگذاری پرونده های htaccess، بسیار مهم است که پرونده را در حالت ‘ASCII’ بارگذاری کنید. ‘ASCII’ و ‘BINARY’ روشهای مختلفی برای انتقال داده ها هستند. مهم است که پرونده های htaccess در حالت ‘ASCII’ منتقل می شوند و نه ‘باینری’. احتمالاً نرم افزار FTP شما به طور پیش فرض روی ‘BINARY’ قرار می گیرد، بنابراین گزینه ‘Transfer Mode’ یا ‘Transfer Type’ را در منوها جستجو کنید.
پرونده htaccess را در دایرکتوری که می خواهید آنرا اجرا کنید بارگذاری کنید. اکنون مانند هر سند دیگری در وب سایت خود به این فهرست بروید و از مرورگر وب خود بازدید کنید و بررسی کنید که درست کار می کند.
توجه داشته باشید، هنگامی که پرونده htaccess خود را بارگذاری می کنید، ممکن است در لیست دایرکتوری ها برای پرونده های وب سایت شما ظاهر نشود. نگران نباشید؛ این بدان معناست که سرور یا نرم افزار FTP آنها را مخفی می کند و مشکلی وجود ندارد.
دلیل احتمالی خطا در صورت عدم دسترسی صحیح مجوزهای پرونده در فایل htaccess است. این فقط در سرورهای خاصی رخ می دهد، اما ممکن است شما بخواهید مجوزهای مربوط به پرونده را به ‘755’ یا ‘ executable ‘ تغییر دهید. شما می توانید این کار را با نرم افزار FTP انجام دهید. به دنبال گزینه ‘File Permission’ یا ‘CHMOD’ و ‘0755’ را وارد نمایید.
اگر پرونده htaccess شمااجرا نمی شود، باید با شرکت میزبان وب خود تماس بگیرید و اطمینان حاصل کنید که آنها htaccess را در حساب فعال کرده اند. برخی از شرکت های میزبانی وب بدون تایید اجازه استفاده نمی دهند.
صفحات خطا
ایجاد صفحات خطای سفارشی بسیار مفید است و به شما امکان می دهد تا به بازدید کنندگان وب سایت پیام خطای دلخواه را نشان دهید. به عنوان مثال اگر URL در وب سایت شما اجرا نمی شود؛ می توان از نمایش خطای ‘404 File Not Found’ جلوگیری کرد و به شما امکان می دهد پیام خطای دلخواه را نشان دهید. همچنین می توانید راه حل های احتمالی را توضیح داده و بازدید کننده را به سمت محتوای وب سایت خود هدایت کنید، نه اینکه آنها را ناامید کنید.
برای تنظیم اسناد خطای سفارشی، یک فایل .htaccess را ایجاد کنید تا دستورالعمل ها و کد های اصلی شامل متن زیر باشد:
ErrorDocument 404 /error_pages/404.html
خط بالا به وب سرور Apache می گوید که هر زمان که خطای 404 رخ داد (پرونده یافت نشد)، می تواند سند واقع در /error_pages/404.html (تحت نام دامنه / آدرس وب سایت شما) را نشان دهد.
![صفحات خطای سفارشی](/wp-content/uploads/2019/11/wordpress-secure-htaccess.jpg)
در این مثال، ما فرض کردیم که شما سند خطا را ایجاد کرده اید و آن را ‘404.html’ نامیده اید و آن را در فهرستی به نام ‘error_pages’ تحت نام دامنه خود قرار داده اید. به عنوان مثال خواهید داشت: http://www.yourdomain.com/error_pages/404.html
سند 404.html یک سند HTML معمولی مانند سایر اسناد وب سایت شما است و می تواند محتوای مورد نظر خود را نمایش دهد، با این وجود توصیه می کنیم پیام ‘File Not Found’ را نیز درج کنید.
برای تنظیم فایل های خطای بیشتر، به عنوان مثال برای پیام های خطای ‘401 غیرمجاز’ ، ‘403 ممنوع‘ و ‘ خطای 500‘ ، یک پرونده htaccess را ایجاد کنید و دستورالعمل ها را با کدهای زیر قرار دهید:
ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html