فایل htaccess چیست؟ فایل .htaccess یک فایل برای پیکربندی است که عموماً در سرورهای وب مبتنی بر Apache استفاده می گردد. این فایل به مدیران یک وب سایت اجازه می دهد تا تنظیمات مختلف را بدون نیاز به دسترسی به فایل اصلی پیکربندی سرور در سطح دایرکتوری اعمال نمایند. از جمله این تنظیمات می توان به مدیریت مسیرهای URL، تنظیمات امنیتی، جلوگیر از دسترسی به برخی فایل های ویژه و خاص، تنظیمات کش و Redirectها اشاره داشت. فایل .htaccess به دلیل انعطاف پذیری و ساده بودن در استفاده، یک ابزار قدرتمند در طراحی وب سایت و برای مدیریت وب سایت ها به شمار می رود.
با این وجود باید توجه داشت که استفاده بیش از حد یا نادرست از فایل .htaccess می تواند موجب کاهش عملکرد سرور شود، چراکه هر بار که درخواستی به سمت سرور ارسال می شود، سرور باید این فایل را بررسی نماید. به همین واسطه، در برخی از موارد بهتر است تا متخصص سئو یا طراح و مدیر سایت تنظیمات مورد نیاز را مستقیماً در فایل اصلی پیکربندی سرور اعمال کنند.
به صورت خلاصه، فایل .htaccess یک ابزار مفید برای مدیران وب سایت است که به ایشان امکان کنترل دقیق تر بر روی رفتار وب سایت و بهبود امنیت و عملکرد آن را می دهد.
راه ایجاد فایل htaccess چیست؟ برای ایجاد یک فایل .htaccess، کافی است یک فایل متنی ساده با نام .htaccess ایجاد کنید. این فایل باید در دایرکتوری اصلی وب سایت یا در هر دایرکتوری دیگری که می خواهید تنظیمات ویژه ای را اعمال کنید قرار بگیرد. می توانید از هر ویرایشگر متنی مانند Notepad در ویندوز یا TextEdit در مک برای ایجاد و ویرایش این فایل استفاده نمایید.
محتوای فایل .htaccess می تواند شامل دستورات مختلفی باشد که رفتار سرور را تغییر می دهند. به عنوان مثال، می توانید از این فایل برای مدیریت مسیرهای URL، تنظیم مجوزهای دسترسی، فعال کردن قابلیت های خاص مانند mod_rewrite برای تغییر مسیرها و یا حتی برای افزایش امنیت وب سایت با محدود کردن دسترسی به برخی فایل ها یا دایرکتوری ها استفاده کنید.
پس از ایجاد فایل، باید آن را در دایرکتوری مناسب آپلود کنید و اطمینان حاصل کنید که سرور شما اجازه استفاده از فایل های .htaccess را دارد. این فایل ها عموماً با یک نقطه در ابتدای نام خود شروع می شوند، که نشان دهنده این است که فایل مخفی است و ممکن است نیاز به تنظیمات خاصی در سرور برای نمایش و ویرایش آن داشته باشید. در آخرین قسمت این مقاله با این موضوع بیشتر آشنا خواهیم شد.
در ادامه این مطلب به این پرسش که مهم ترین کاربردهای یک فایل .htaccess چیست پاسخ داده خواهد شد و با برخی از مهم ترین دستورات کاربردی در آن آشنا خواهیم شد.
در پاسخ به پرسخ یکی از پراستفاده ترین کاربردهای فایل “htaccess چیست” می بایست این طور گفت که یکی از رایج ترین کاربردهای فایل .htaccess بازنویسی URLها می باشد. این قابلیت به شما امکان می دهد تا URLهای طولانی و پیچیده را به شکل ساده تر و کاربرپسندتری نمایش دهید. برای مثال می توانید «example.com/product.php?id=123» را به «example.com/product/123» تغییر بدهید. این کار با استفاده از ماژول mod_rewrite انجام می گردد.
RewriteEngine On
RewriteRule ^product/([0-9]+)/?$ product.php?id=$1 [L]
با استفاده از .htaccess، می توانید صفحات سفارشی برای خطاهای رایج مانند 404 (صفحه پیدا نشد) یا 500 (خطای سرور) ایجاد کنید. این کار تجربه کاربری بهتری را برای بازدیدکنندگان فراهم می آورد.
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
شما می توانید دسترسی به فایل ها یا دایرکتوری های خاصی را محدود کنید. این کار می تواند برای افزایش امنیت وب سایت مفید باشد. برای مثال، می توانید دسترسی به فایل های حساس مانند .htaccess یا فایل های پیکربندی را مسدود کنید.
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
اگر کاربران به یک دایرکتوری دسترسی پیدا کنند، سرور به صورت پیش فرض فایل index.html یا index.php را نمایش می دهد؛ با استفاده از .htaccess، می توانید فایل پیش فرض را تغییر دهید.
DirectoryIndex home.html
فشرده سازی فایل ها می تواند سرعت بارگذاری سایت را بهبود ببخشد. با استفاده از .htaccess، می توانید فشرده سازی Gzip را برای فایل های CSS، JavaScript و HTML فعال نمایید.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>
اگر سرور شما اجازه دهد، می توانید برخی از تنظیمات PHP را از طریق فایل .htaccess تغییر دهید. برای مثال، می توانید محدوده حافظه یا زمان اجرای اسکریپت ها را افزایش بدهید.
php_value memory_limit 256M
php_value max_execution_time 300
شما می توانید دسترسی به وب سایت خود را برای IPهای ویژه ای محدود یا مسدود نمایید. این کار می تواند برای جلوگیری از حملات یا دسترسی غیرمجاز مفید باشد.
Order Allow,Deny
Allow from all
Deny from 192.168.1.1
با فعال کردن کش مرورگر، می توانید مدت زمان ذخیره سازی فایل های استاتیک مانند تصاویر، CSS و JavaScript را در مرورگر کاربران افزایش بدهید. این کار موجب کاهش تعداد درخواست ها به سرور و بهبود سرعت بارگذاری وب سایت می شود.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg “access plus 1 year”
ExpiresByType image/jpeg “access plus 1 year”
ExpiresByType image/gif “access plus 1 year”
ExpiresByType image/png “access plus 1 year”
ExpiresByType text/css “access plus 1 month”
ExpiresByType application/pdf “access plus 1 month”
ExpiresByType text/x-javascript “access plus 1 month”
ExpiresByType application/x-shockwave-flash “access plus 1 month”
ExpiresByType image/x-icon “access plus 1 year”
ExpiresDefault “access plus 2 days”
</IfModule>
با استفاده از .htaccess، می توانید کاربران را از یک URL به URL دیگر هدایت کنید. این کار که عموماً برای یک سئو کار سایت مهم می باشد، برای تغییر مسیر صفحات قدیمی به صفحات جدید یا تغییر مسیر از HTTP به HTTPS مفید است.
Redirect 301 /old-page.html http://www.example.com/new-page.html
اگر وب سایت شما از گواهی SSL استفاده می کند، می توانید با استفاده از .htaccess، تمام ترافیک را به HTTPS هدایت کنید.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
شما می توانید دسترسی به فایل های خاصی را محدود کنید تا فقط از طریق IPهای خاصی قابل دسترسی باشند.
<Files “config.php”>
Order Allow,Deny
Deny from all
Allow from 192.168.1.1
</Files>
اگر نیاز دارید که منابع وب سایت شما از دامنه های دیگر قابل دسترسی باشند، می توانید CORS یا همان Cross-Origin Resource Sharing را فعال کنید.
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin “*”
</IfModule>
اگر کاربر به یک دایرکتوری دسترسی پیدا نماید و فایل پیش فرض (مانند index.html) وجود نداشته باشد، سرور به طور پیش فرض لیست فایل های موجود در آن دایرکتوری را نمایش می دهد. با استفاده از .htaccess می توانید این قابلیت را غیرفعال کنید.
Options -Indexes
شما می توانید نوع MIME فایل ها را تغییر دهید تا مرورگرها بتوانند آن ها را به درستی تفسیر کنند.
AddType application/x-httpd-php .php
اگر می خواهید از SSI یا همان Server Side Includes استفاده کنید، می توانید آن را از طریق .htaccess فعال کنید.
Options +Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
برای دسترسی به فایل .htaccess ابتدا باید به سرور وب خود متصل بشوید. این فایل معمولاً در دایرکتوری root وب سایت شما قرار دارد و ممکن است به صورت پیش فرض مخفی باشد. اگر از کنترل پنل مانند cPanel استفاده می کنید، می توانید از طریق File Manager به فایل دسترسی پیدا کنید. در صورتی که از دسترسی SSH برخوردار هستید، می توانید با استفاده از دستوراتی مانند cd به دایرکتوری مورد نظر بروید و سپس با دستور ls -a فایل های مخفی از جمله .htaccess را مشاهده نمایید. برای ویرایش فایل می توانید از ویرایشگرهای متن مانند nano یا vim استفاده کنید.
توجه داشته باشید که تغییرات نادرست در این فایل می تواند باعث اختلال در عملکرد سایت شود، بنابراین قبل از ویرایش، از فایل یک نسخه پشتیبان یا بکاپ تهیه نمایید.
اگر در cPanel نمی توانید این فایل را پیدا کنید، ممکن است به این چند دلیل باشد:
نکته | راهنما |
تست تغییرات | قبل از اعمال تغییرات در .htaccess آن ها را در یک محیط تست بررسی کنید تا از عملکرد صحیح اطمینان حاصل کنید |
امنیت | دسترسی به فایل .htaccess را محدود کنید تا از سوء استفاده کاربران مخرب جلوگیری شود |
تأثیر بر عملکرد سرور | استفاده بیش از حد از .htaccess می تواند عملکرد سرور را کاهش دهد، زیرا سرور باید آن را در هر درخواست بررسی کند |
اولویت تنظیمات | تنظیمات موجود در .htaccess بر تنظیمات اصلی سرور اولویت دارند، بنابراین مراقب تداخل تنظیمات باشید |
پشتیبان گیری | قبل از هرگونه تغییر، از فایل .htaccess نسخه پشتیبان تهیه کنید تا در صورت بروز مشکل بتوانید به حالت قبلی بازگردید |
سینتکس صحیح | مطمئن شوید که دستورات واردشده در .htaccess از سینتکس صحیح برخوردار باشند تا از خطاهای سرور جلوگیری شود |
استفاده از کامنت ها | برای بهبود خوانایی و مدیریت فایل، از کامنت ها (توضیحات) در .htaccess استفاده کنید |
عدم استفاده غیرضروری | در صورت امکان، تنظیمات را در فایل پیکربندی اصلی سرور اعمال کنید تا از تأثیر منفی بر عملکرد سرور جلوگیری شود |
بررسی مجوزهای فایل | اطمینان حاصل کنید که مجوزهای فایل .htaccess به درستی تنظیم شده اند تا از دسترسی غیرمجاز جلوگیری شود |
آگاهی از محدودیت ها | شاید برخی از هاست ها استفاده از برخی دستورات .htaccess را محدود کنند، پس از محدودیت های هاست خود آگاه باشید |
© کلیه حقوق این سایت محفوظ و متعلق به تابان شهر است.