فایل htaccess چیست؟

فایل htaccess یا hyper text access نوعی تنظیمات در سطح دایرکتوری است که توسط چندین وب سرور مختلف پشتیبانی می شود و برای مسائل مربوط به دسترسی به سایت کاربرد دارد. برای مثال ریدایرکت کردن url یا کوتاه کردن url. یک سایت می تواند بیش از یک فایل htaccess داشته باشد. این فایل ها در داخل درخت وبسایت web tree قرار دارند (داخل دایرکتوری ها و ساب-دایرکتوری ها). کار فایل htaccess این است که وقتی کسی از صفحه ای در وبسایت شما بازدید می کند، این فایل با سرورتان ارتباط برقرار کند و به سرور اطلاعاتی راجع به اینکه چکاری باید انجام شود اطلاعاتی بدهد.
هدف اصلی فایل های htaccess همانطور که از اسمشان پیداست این است که دسترسی به دایرکتوری را مثلا با استفاده از نوعی رمز عبور مهیا کند. این فایل ها کاربرد امنیتی نیز می توانند داشته باشند. همچنین برای باز نویسی و کوتاه کردن url های طولانی نیز استفاده می شوند. با این فایل ها می توان برخی آدرس ها یا دامنه های IP و یا بوت های بد را بلاک و خزنده های وب را محدود کرد.
استفاده از این نوع فایل در تمام سایت ها لازم نیست (زیرا گاهی ممکن است به خاطر امنیت بیش از حد بالا، باعث هک شدنتان شود) اما اگر شما یک سرور دارید با سایت های زیادی که در آن سرور مشترک هستند، بهتر است از این فایل کمک بگیرید تا هر سایت بتواند پیکره بندی منحصر به فرد خود را داشته باشد.

کاربرد htaccess در سئو سایت

فایل htaccess می تواند ابزار قدرتمندی در سئو سایت باشد و رنکینگ سایت شما را به خوبی بهبود می بخشد. بیشتر ما سئو کاران هر روزه با آن سرو کار داریم. اما مگر اینکه شما یک حرفه ای باشید، نخواهید توانست به خوبی و به تنهایی از پس آن بر بیایید.

خود من وقتی اولین بار سعی کردن رفتار سرورم را بررسی کنم متوجه شدم که نیاز به استفاده از ریدارکت 301 داشتم تا موتورهای جستجو را وادار کنم تا وارد ورژن درستی از سایت من شود و از دامین های مختلف و متفاوتی برای اتصال به سایت من استفاده نکنند تا به این صورت duplicate content نداشته باشم.

برای مثال به ورژن های مختلف زیر از سایت ام.سی سئو توجه کنید:
www.mcseo.ir
mcso.ir
www.mcseo.ir/index.html
mcseo.ir/index.html
تمام این آدرس های مختلف منجر به رنکینک پایین تر سایت و حتی پنالتی سایت می شوند. برای حل این معضل باید چه کرد؟
باید فایل htaccess را ساخت. ایتدا یک فایل خالی نوتپد را باز کنید و نامش را “.htaccess” بگذارید (نقطه و علامت” را فراموش نکنید). حال باید فایل را ادیت کنید. برای این کار به نرم افزار ادوب دریوویور adobe dreamweaver نیاز خواهیم داشت. برای مثال، برای رفع مشکل کانونیکال آدرس، کد زیر را در فایل htaccess کپی پیست کنید.بین خط ها فاصله نباشد.
RewriteEngine on
RewriteCond % {HTTP_HOST} ^yourwebsite\.co.uk$ [NC]
RewriteRule ^ (.*) $ http:yourwebsite.co.uk/$1 [R=301,L]
RewriteCond % {THE_REQUEST} ^.*/index.html
RewriteRule ^ (.*) index.htmls$
http://www.yourwebsite.co.uk/$1 [R=301,L]

این کد تمام بازدیدکننده های را به ورژن www. سایت تان ریدایرکت می کند. این فایل را در سایتتان آپلود کنید.

به علاوه شما می توانید دامنه جدیدتان را به دامنه ی قبلی که بازدیدکننده های زیادی داشت ریدایرکت کنید. با این کار ترافیک دامنه ی جدید بالا می رود و رتبه بندی سایت شما بهتر و سئو سایت شما موفق تر می شود. بدین منظور کد زیر را در فایل htaccess قرار دهید:
Redirect 301 /old-page-name http://www.your-domain.com/new-page-name
دقت کنید که سایت قدیمی نیاز به url کامل ندارد و ورژن کوتاه کفایت می کند. اما آدرس جدید باید شامل دامین نیز بشود.

از کاربردهای دیگر فایل htaccess این است که گاهی کسی با وارد کردن پسوردهای رندوم مکرر می خواهد وارد سایتتان شود، شما با این فایل از این حملات که معمولا از سمت هکرها است جلوگیری می کنید. برای این کار می توانید این کد را در فایل htaccess وارد کنید:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^(A\.B\.C\.D)$
RewriteRule ^/* http://www.yourdomain.com/access-denied.html [L]
و جای A، B، C و D می توانید اعداد مربوطه در دامین هک کننده را وارد کنید.
توجه کنید که اگر این فایل را اشتباهی دستکاری کنید ممکن است با خطای HTTP Error 500 روبه رو شوید. برای رفع این خطا باید این فایل را از هاست خود پاک کنید. به این منظور با واررد شدن در قسمت File manager Directory selection و رفتن به قسمت public-html فایل htaccess را حذف کنید.
در نهیات بد نیست بدانید که توسط فایل کاربردی htaccess می توانید سرعت سایت و پیج لود تایم را بهبود ببخشید. همه می دانیم که سرعت چقدر برای گوگل مهم است. بنابراین خیلی مهم است که مطمئن شوید که کاربر هر چه سریع تر به محتوای سایت شما دسترسی داشته باشد. در زیر برخی تغییراتی را که می توانید در این راستا در فایل htaccess ایجاد کنید را می بینید:
کمپرس کردن (Gzip)
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

برای تنظیم کردن کش فایل ها در مرورگر leverage cache browser:
## EXPIRES CACHING ##

ExpiresActive On
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/png “access 1 year”
ExpiresByType text/css “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType text/x-javascript “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresByType image/x-icon “access 1 year”
ExpiresDefault “access 2 days”

## EXPIRES CACHING ##
می توانید در صورت نیاز، در دستور بالا، عبارت access 1 year را با عبارت access 1 month جایگزین کنید.
جالب است که یک تغییر ساده در فایل htaccess می تواند چه تغییرات زیادی در سئو سایت شما داشته باشد. امیدوارم این مقاله برای شما مفید بوده باشد.