آموزش htaccess
درصورتیکه قصد راهاندازی وبسایت یا وبسرویسهای مختلفی را دارید، باید با فایل htaccess آشنایی داشته باشید. این فایل را میتوان یکی از مهمترین ابزارهایی دانست که برای پیکربندی هاست یا سرور بدون نیاز به دسترسی به تنظیمات اصلی سرور کاربرد دارد. در واقع شما میتوانید با واردکردن دستوراتی خاص در این فایل، تنظیماتی را به سرور اضافه کنید.
بهطور مثال، میتوانید استفاده از رسانههای فایل و کپیکردن آنها را محدود کرده و یا نحوه بارگذاری فایلهای استایل را تغییر دهید. نکته مهمی که باید دررابطهبا فایل htaccess بدانید این است که استفاده از این فایل ممکن است به سرور شما از نظر سرعت و امنیت آسیب بزند. به همین دلیل پیشنهاد میشود به همراه ما مطالبی که در ادامه بررسی میکنیم را مطالعه کنید.
فایل .htaccess چیست؟
درصورتیکه وب سروری مانند آپاچی را روی سرور یا هاست مدنظر خود راهاندازی کردهاید، دسترسی کامل به تنظیمات و پیکربندی آن وجود نخواهد داشت. برای این که بتوانید پیکربندیهای وب سرور را انجام داده و عملکرد سرور خود را کنترل کنید میتوانید از فایل htaccess استفاده کنید.
فایل htaccess یک فایل پیکربندی برای سرورها است که به شما اجازه شخصیسازی کردن برخی تنظیمات و پیکربندیها را میدهد. با واردکردن برخی از دستورات در این فایل میتوانید عملکرد سرور و سایت را پیکربندی کنید.
پیشنیازهای فایل htaccess
یکی از مهم نکاتی که باید دررابطهبا فایل htaccess بدانید این است که فعالکردن این فایل و استفاده از آن نیازمند یکسری از پیشنیازها هستید. این پیشنیازها برای فایل htaccess بسیار مهم بوده و در صورت پیادهسازی درست آنها میتوانید از این فایل بهره ببرید. مهمترین پیشنیازهایی که فایل htaccess به آنها نیاز دارد شامل موارد زیر هستند:
- سرور اوبونتو 20.04 به همراه کاربر غیرریشه، امتیازهای sudo و فایروال فعال
- وب سرور آپاچی
- دسترسی به یک دامنه
فعالکردن فایل .htaccess
برای این که بتوانید از پیکربندیهای فایل htaccess استفاده کنید باید این فایل را ابتدا فعال کنید. برای فعالکردن این فایل ابتدا فایل میزبان مجازی خود را به آدرس apache2/sites-available/your_domain.conf انتقال داده و با استفاده از یک ویرایشگر مانند nano آن را باز کنید. دستور زیر به شما کمک میکند:
sudo nano /etc/apache2/sites-available/your_domain.conf
فایل باز شده محتویات زیر را خواهد داشت:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
مانند مثال زیر قطعه کد دایرکتوری را درون قطعه کد VirtualHost قرار دهید:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/your_domain> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
پس از واردکردن دستورات با استفاده از کلیدهای ترکیبی Ctrl+X و سپس حرف Y تغییرات را ذخیره و استفاده از دستور زیر سرویس آپاچی را مجدداً راهاندازی کنید:
sudo service apache2 restart
حال میتوانید بهراحتی فایل htaccess را ایجاد کنید.
ایجاد فایل .htaccess
برای ایجاد فایل htaccess باید در ترمینال سرور به روت وب رفته و فایل را در آن بسازید. در این حالت فایل htaccess بر تمامی سایتهای موجود در سرور تأثیر خواهد گذاشت. در صورت رعایتکردن پیشنیازها و مراحل فعالسازی، مسیر روت به شکل /var/www/your_domain/.htaccess.htaccess خواهد بود. دستور زیر فایل htaccess را برای شما ایجاد میکند:
sudo nano /var/www/your_domain/.htaccess
حال فایل htaccess شما ساخته شده که میتوانید با کمک آن تغییرات مختلفی را در پیکربندی سایت انجام دهید.
کاربردهای .htaccess
برای آشنایی بیشتر با فایل htaccess باید کاربردهایی که برای این فایل وجود دارد را نیز بررسی نمایید. از مهمترین کاربردهای این فایل میتوان به موارد زیر اشاره کرد. هر کدام از این کاربردها برای مدیران سایت و سرور ضروری هستند.
1. Mod_Rewrite
یکی از مهمترین کاربردهای فایل htaccess این است که شما میتوانید با استفاده از حالت Mod_Rewrite بهراحتی نحوه نمایش URL به کاربران را تغییر دهید. این کاربرد برای سئو تأثیر خاصی ندارد؛ تنها میتواند نحوه نمایش را سادهتر کند.
2. احراز هویت
کاربردی دیگر که با استفاده از فایل htaccess نصیب شما میشود پیادهسازی احراز هویت است. این حالت برای افزایش امنیتبخشهای خاص سایت است که میتوانید با ایجاد فایل htpasswd بهراحتی آن را پیادهسازی کنید. دستور زیر را وارد کنید تا فایل برای شما ساخته شود:
sudo htpasswd -c /etc/apache2/.htpasswd Sammy
سپس میتوانید رکوردهای مختلف را به فایل اضافه کنید. در مرحله بعدی وارد فایل htaccess بشوید. در صورت درست انجامدادن مراحل قبل این فایل در بخش زیر قرار گرفته است:
sudo nano /var/www/your_domain/.htaccess
پس از باز شدن فایل دستورات زیر را به آن بیفزایید:
AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user
4. صفحات خطای سفارشی
صفحات خطا از مهمترین صفحاتی هستند که در وبسایتها ایجاد میشوند. این صفحهها کاربردهایی خاص داشته و برای نمایش خطاهای مختلف ایجاد شده و به شما نمایش داده میشوند. میتوانید با کمک فایل HTACCESS بهراحتی این صفحه را تغییر دهید. از مهمترین صفحات خطایی که میتوانند در وبسایتها نمایش داده شوند شامل موارد زیر هستند:
- 400 Bad Request
- 401 Authorization Required
- 403 Forbidden Page
- 404 File not Found
- 500 Internal Error
4. MIME Types
در برخی از شرایط این امکان وجود دارد که برخی از فایلها با پسوندهای خاصی در وبسایت شما نمایش داده نشوند. این موضوع ممکن است به دلایل مختلفی باشد که مهمترین آن پیکربندی وب سرور است. شما میتوانید با استفاده از فایل htaccess بهراحتی پسوندهای مدنظر خود را اضافه کرده و فایلهای مختلف را درون سایت بارگذاری کنید. میتوانید با واردکردن دستور زیر این کار را بهراحتی انجام دهید:
AddType audio/mp4a-latm .m4a
با دستور بالا پسوند صوتی m4a به وب سرور شما اضافه شده و امکان بارگذاری آن وجود خواهد داشت.
5. SSI
Server Side Includes یا همان SSI یکی از مهمترین و مؤثرترین روشهایی است که برای افزایش سرعت سایت استفاده میشود. میتوانید با استفاده از دستور زیر SSI را راهاندازی کنید:
AddType text/html .shtml AddHandler server-parsed .shtml</pre>
میتوانید برای تجزیه دستورهای SSI از تاکتیک XBitHack استفاده کنید. به همین منظور میتوانید دستور زیر را به فایل htaccess اضافه کرده تا آپاچی تمامی فایلهای html را با مجوزهای SSI بررسی کند:
XBitHack on
تأثیر فایل .htaccess سرعت و امنیت
یکی از مهمترین سؤالاتی که کاربران دررابطهبا فایل htaccess از ما میپرسند این است که آیا این فایل در سرعت و امنیت سایت یا سرور تأثیر دارد یا خیر. در پاسخ به این سوال باید گفت که این موضوع تأثیرات خاص خود را داشته و به شکل زیر در سرور شما اثر میگذارد:
تأثیرگذاری .htaccess بر سرعت
یکی از مهمترین تأثیراتی که پس از استفاده از فایل htaccess روی سرور شما انجام میشود این است که سرعت سرور شما کمی کاهش پیدا میکند. البته این موضوع در سرورهای قوی کمتر مشخص میشود. این امر به دلیل موقعیت روت فایل htaccess و تأثیر آن روی تمامی دایرکتوریهای سایت است.
تأثیرگذاری .htaccess بر امنیت
تأثیر دیگری که پس از استفاده از فایل htaccess روی سرور شما به وجود میاید این است که بعد از ساخت فایل و واردکردن دستورات درون htaccess امنیت سرور دچار مشکل میشود. زیرا این فایل دسترسی و پیکربندیهای بیشتری را برای وب سرور ایجاد میکند که ممکن است تغییرات غیرمجازی را ایجاد کند.
سخن پایانی
یکی از بهترین ابزارهایی که میتوانید برای تنظیمکردن و پیکربندی وب سرور خود استفاده کنید، فایل htaccess است. فایل htaccess یک فایل پیکربندی است که به شما اجازه دسترسی به تنظیمات و پیکربندیهای مهم وب سرور را میدهد.
شما میتوانید با نصب وب سرور آپاچی و سیستمعامل اوبونتو از این فایل استفاده کنید. نکات و دستورات خاصی برای استفاده از این فایل وجود دارد که تمامی آنها را در این مقاله با هم بررسی کردیم. میتوانید با بررسی این نکات به شکلی دقیق تنظیمات سایت را انجام دهید.
هدف استفاده از فایل htaccess چیست؟
هدف استفاده از فایل htaccess این است که دسترسی شما به تنظیمات و پیکربندیهای مختلف سرور انجام شود. در غیر این صورت وب سرور اجازه پیکربندی برخی از تنظیمات را به شما نخواهد داد.
محل قرارگیری فایل htaccess کجاست؟
محل قرارگیری فایل htaccess درون روت اصلی سایت بوده و همین موضوع هم موجب شده تا این فایل بر تمامی دایرکتوریها تأثیر بگذارد.
آیا نیازمند فایل htaccess هستیم؟
برای وبسایتهای عمومی نیازی به استفاده از فایل htaccess نیست؛ شما میتوانید تنها برای برخی از تنظیمات خاص مانند محدودکردن دسترسی برخی از کاربران این فایل را فعال کنید.
famaserver