چند نکته مفید در فایل .htaccess برای وبمسترها (بخش اول)

بطور کلی وظیفه فایل .htaccess مدیریت دسترسی کاربران به محتوای یک دایرکتوری (Directory) در سرور آپاچی (Apache) است، به این معنی که شما می تونین با استفاده از این فایل بعنوان مثال دسترسی کاربران را از فایل سلب کنید یا خطاهای سرورتون رو باهاش مدیرت کنین یا مشخص کنین کدام فرمت فایل ها را کاربران میتونن از سرور شما درخواست کنن و کلی امکان دیگه که سعی میکنیم در این مطلب و در آینده هم تعدادی از پرکاربردترین و مفیدترین تنظیماتی که برای مدیریت وب سایت و یا بهینه سازی ازش استفاده میکنن رو باهم مرور کنیم.
خب حالا شروع کنیم!

۱- دسترسی به فایل های و مسیرهای مخفی

با استفاده از RewriteCond میتونین دسترسی ها رو به فایل و مسیرهای که مخفی هستن رو از دید کاربران (هرنوع دسترسی، مثل ربات، هکرها و یا Crawler ) مخفی کنین. برای این کار کافیه کد زیر رو تو فایل .htaccess قرار بدین:

<IfModule mod_rewrite.c>
 RewriteCond %{SCRIPT_FILENAME} -d [OR]
 RewriteCond %{SCRIPT_FILENAME} -f
 RewriteRule "(^|/)\." - [F]
</IfModule>

 

۲- فشرده سازی فایل ها در سمت سرور (Server Side)

با کد زیر میتونین فایل های که مابین وب سایت و کاربران انتقال داده میشه رو فشرده کنین تا سرعت لود وبسایتتون بیشتر بشه، این کار میتونه تاثیر خیلی خوبی در بهینه سازی (SEO) سایت شما داشته باشه.
نمونه زیر بیشتر فایلهای (File Type) معمول رو در بر می گیره:

<IfModule mod_deflate.c>
 <IfModule mod_filter.c>
 AddOutputFilterByType DEFLATE application/atom+xml \
 application/javascript \
 application/json \
 application/rss+xml \
 application/vnd.ms-fontobject \
 application/x-font-ttf \
 application/x-web-app-manifest+json \
 application/xhtml+xml \
 application/xml \
 font/opentype \
 image/svg+xml \
 image/x-icon \
 text/css \
 text/html \
 text/plain \
 text/x-component \
 text/xml
 </IfModule>
</IfModule>

حتما و حتما کد بالا رو تو فایل .htaccess قرار بدین!

۳- ست کردن Expire header برای فایل ها

کاربران شما قطعا دوست دارن سایت شما با سرعت بالا لود بشه و سرعت لود خوب وبسایت (که البته به تعداد زیادی پارامتر مختلف بستگی داره) میتونه رنک سایت شمار رو تو موتورهای جستجو بالا ببره.
Expire Header باعث میشه تا فایل هایی رو که شما مشخص کردین در دفعات بعدی بازدید برای کاربراتون لود نشه و مرورگر از کش قبلی استفاده کنه، یعنی اینکه کاربر دفعه اول سایتتون رو میبینه فایل های مشخص شده در فایل .htaccess براش کش (cache) میشه و دفعه بعد که به ساییتون مراجعه میکنه دیگه فایل های استایل و جاوا اسکریپت براش از سرور فراخوانی نمیشه و از نسخه قبلی (cache شده) که مرورگر نگه داشته لود میشه.
نمونه کد رو ببینین:

<IfModule mod_expires.c>

ExpiresActive on
 ExpiresDefault "access plus 1 month"

# CSS
 ExpiresByType text/css "access plus 1 year"

# Data interchange
 ExpiresByType application/json "access plus 0 seconds"
 ExpiresByType application/xml "access plus 0 seconds"
 ExpiresByType text/xml "access plus 0 seconds"

# Favicon (cannot be renamed!) and cursor images
 ExpiresByType image/x-icon "access plus 1 week"

# HTML components (HTCs)
 ExpiresByType text/x-component "access plus 1 month"

# HTML
 ExpiresByType text/html "access plus 0 seconds"

# JavaScript
 ExpiresByType application/javascript "access plus 1 year"

# Manifest files
 ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
 ExpiresByType text/cache-manifest "access plus 0 seconds"

# Media
 ExpiresByType audio/ogg "access plus 1 month"
 ExpiresByType image/gif "access plus 1 month"
 ExpiresByType image/jpeg "access plus 1 month"
 ExpiresByType image/png "access plus 1 month"
 ExpiresByType video/mp4 "access plus 1 month"
 ExpiresByType video/ogg "access plus 1 month"
 ExpiresByType video/webm "access plus 1 month"

# Web feeds
 ExpiresByType application/atom+xml "access plus 1 hour"
 ExpiresByType application/rss+xml "access plus 1 hour"

# Web fonts
 ExpiresByType application/font-woff "access plus 1 month"
 ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
 ExpiresByType application/x-font-ttf "access plus 1 month"
 ExpiresByType font/opentype "access plus 1 month"
 ExpiresByType image/svg+xml "access plus 1 month"

</IfModule>

 

فایل .htaccess همونطور که در ابتدای مطلب گفتیم کاربردهای خیلی زیادی داره و ما هم سعی میکنیم در آینده بازهم در مورد این فایل مطلب بنویسیم

نظر بدهید

ایمیل شما منتشر نخواهد شد. Required fields are marked *

شما می توانید استفاده نمایید از HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>