دانش کار با htaccess یکی از مهمترین عواملی هست که ما در مدیریت یک سایت با آن سر و کار داریم . بواسطه htaccess می توان با وب سرور تعامل داشت . عدم تسلط بر htaccess و مدیریت صحیح آن موجب خواهد شد تا مشکلات فنی و حتی امنیتی متعددی برای وبسایت ما بوجود آید . بدلیل اهمیت بالای این موضوع آموزش کامل htaccess را برای شما عزیزان آماده کردیم .
آموزش کامل htaccess
همانطور که گفته شد با htaccess زبان ارتباطی سایت با وب سرور است. به همین جهت یادگیری آن یک امر اجتناب ناپذیر است. در زیر به تعدادی از مجموعه مواردی که می توان توسط htaccess آنها را مدیریت کرد اشاره شده است:
- ریدایرکت دائمی و موقت
- کنترل سطح دسترسی ها
- شخصی سازی تنظیمات نمایشی
- فعالسازی کش به منظور افزایش سرعت سایت
چهار مورد فوق از پرکاربردترین ها هستند که در زیر آنها را مطرح و در مورد آنها توضیح خواهیم داد .
توجه داشته باشید که در لینوکس، نقطه (.) در ابتدای هر فایلی باشد یک فایل مخفی به شمار می رود. htaccess نیز یک فایل مخفی است که نقطه در ابتدای آن قرار دارد و بصورت htaccess. می باشد . در سی پنل برای مشاهده این فایل می بایست پس از ورود به File Manager ، در صفحه بازشده در قسمت بالا سمت راست بر روی گزینه Settings کلیک کرده
ریدایرکت دائمی و موقت
یکی از مهمترین کاربردهای htaccess امکان ریدایرکت دائمی و یا موقت است. ریدایرکت دائمی به عنوان ریدایرکت 301 و ریدایرکت موقت به عنوان ریدایرکت 302 شناخته می شود. از دید گوگل، محتوای تکراری نباید در یک سایت وجود داشته و این موضوع یکی از راهکارهای اساسی برای جلوگیری از بوجود آمدن محتوای تکراری در سایت می باشد. برای اینکه بتوانید تصور کاملی از موضوع داشته باشید فرض کنید قصد داریم بر روی سایت خود گواهی امنیتی SSL نصب نماییم. همانطور که می دانید با اینکار سایت بصورت https نیز در دسترس خواهد بود. به این طریق سایت در حال حاضر با دو نسخه http و https نمایش داده می شود که همان بحث محتوای تکراری خواهد بود. برای حل این موضوع می بایست نسخه http سایت را بصورت 301 بر روی نسخه https سایت ریدایرکت نماییم. برای اینکار تنها کافیست مقدار زیر را در فایل htaccess وارد نمایید.
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://mashhadhost.com/$1 [R=301,L]
توجه داشته باشید بجای مقدار mashhadhost.com می بایست آدرس سایت خود را جایگزین نمایید. همچنین اگر سایت با www است می توانید آنرا قبل از آدرس سایت درج نمایید. یعنی بصورت زیر
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mashhadhost.com/$1 [R=301,L]
کنترل سطح دسترسی ها
با htaccess می توان چندین نوع محدودیت و کنترل را تعریف کرد. از میان همه آنها دو مدل محدویت کردن آی پی و محدویت دسترسی به فایل بسیار متداول است که در زیر به آنها اشاره خواهیم کرد .
محدود کردن آی پی
برای مثال قصد داریم آی پی 5.5.5.5 نتواند سایت را مشاهده نماید . می بایست مقدار زیر را در فایل htaccess قرار دهیم .
Deny from 5.5.5.5
یا اگر بالعکس بخواهیم هیچ آی پی دیگری به غیر از 5.5.5.5 نتواند سایت را مشاهده نماید باید مقدار زیر را قرار دهیم .
Order Allow, Deny
Allow from 5.5.5.5
Deny from all
این موارد برای رنج آی پی نیز قابل انجام است .
محدودیت دسترسی به فایل
فرض کنید قصد داریم دسترسی فایل xmlrpc.php وردپرس را برای همه محدود کنیم .
<Files xmlrpc.php>
order allow,deny
Deny from all
</Files>
برای اینکار تنها کافیست مقدار فوق را در فایل htaccess وارد نمایید .
شخصی سازی تنظیمات نمایشی
یکی از مواردی که سی پنل ابزار تعاملی برای اینکار در نظر گرفته است امکان مدیریت تنظیمات نمایشی است. فرض کنید مسیری از سایت شما دارای صرفا تعدادی فایل تصویری است. با ابزار Indexes سی پنل می توان نحوه نمایش آنرا تعیین کرد. برای دسترسی به Indexes پس از ورود به سی پنل در قسمت ADVANCED بر روی Indexes کلیک کنید. در صفحه ظاهر شده لیست دایرکتوری های هاست خود را مشاهده خواهید کرد.
- Default System Setting : تنظیمات پیشفرض
- No Indexing : عدم نمایش بصورت لیست
- Standard Indexing (filename only) : نمایش استاندارد (نام فایل)
- Fancy Indexing (filename and description) : نمایش کامل (نام فایل و توضیحات آن)
فعالسازی کش به منظور افزایش سرعت سایت
یکی از متداولترین روشهای افزایش سرعت دسترسی به سایت فعال کردن کش می باشد. این موضوع سبب می شود تا بازدیدکنندگان در بازدیدهای بعدی بخشی از محتوای ثابت سایت را مجددا فراخوانی نکنند و طبق محتوای قبلی نمایش داده شود. این موارد میتواند متن، الگوها و ساختار نمایشی سایت باشد که در بالا رفتن سرعت دسترسی به سایت نقش مهمی را ایفا می کند .