آموزش htaccess.

htaccess.اچ تی اکسز که مخفف کلمه هایپرتکست اکسز ( Hypertext Access = htaccess ) می باشد ، یک فایل مهم برای مدیران وب سایت ها محسوب می شود، چراکه به کمک این فایل ساده می توانند تنظیمات کاربردی وب سایت خود را بر روی وب سرور مورد استفاده اعمال نمایند.

برای مثال به کمک اچ تی اکسسز می توان بسادگی آدرس دهی ( URL ) بخش های مختلف وب سایت را به صورت کاربر پسند ( user friendly ) و مناسب برای موتور های جستجو ( SEO ) اصلاح نمود و یا برای امنیت بیشتر، لایه امنیتی و کلمه عبور را برای ورود به یک پوشه در نظر گرفت و یا عملیات ریدایرکت را به کمک آن صورت داد. به همین ترتیب، نرم افزارهای مدیریت محتوای ( cms ) رایج مانند وردپرس ( wordpress ) عموما به همراه فایل htaccess. پیشفرض خود عرضه و نصب می شوند که تنظیمات اختصاصی اسکریپت مربوطه را در داخل خود دارا می باشد.

آیا تا به حال محتوای این فایل را در اسکریپت خود بررسی کرده اید؟ مقاله پیش رو ، شما را تا حدی با محتوای این فایل و همچنین چند مثال کاربردی آشنا خواهد کرد. البته در اعمال تغییرات در این فایل باید نهایت دقت را داشته باشید ، چراکه یک تغییر ساده می تواند عملکرد سایت شما را با اشکالاتی همراه سازد. برای درک بهتر عملکرد این فایل، در ابتدا به معرفی اجمالی وب سرور محبوب آپاچه ( apache ) می پردازیم.

زمانی که سیستم عامل گنو-لینوکس ( GNU/Linux ) در حال پوست انداختن و رشد در حوزه سیستم عامل های سمت سرور بود ، به ابزاری قدرتمند نیاز داشت تا کار را یکسره کند و گوی رقابت را در حوزه سرویس های وب نیز برباید. در این هنگام بود که وب سرور محبوب Apache ( آپاچه ) متولد شد و شهرت و قدرت لینوکس را به اوج برد و به برگ بنده ای بی بدیل برای لینوکس تبدیل گشت.

آموزش ویرایش فایل htaccess.

هم اکنون پس از گذشت قریب به 22 سال از تولد این وب سرور ، طبق آخرین آمار سایت نیکس کرفت ( Nixcraft ) بالغ بر 45 درصد از سایت های اینترنتی از این وب سرور استفاده می کنند. حتی بدون اغراق می توان گفت آپاچه نقش کلیدی در توسعه وب جهانی نیز داشته و دارد.

هسته آپاچه به زبان سی ( C ) نوشته شده است و به راحتی بر روی هر توزیع لینوکسی قابل نصب است. تنها با صرف کمتر از 10 دقیقه می توانید بدون هیچ کنترل پنلی اولین پیغام ! It Works را بر روی آی پی سرور خود مشاهده فرمایید.

کارکرد وب سرور آپاچه به واسطه رول  ( Rule ) هایی است که در تنظیمات ( httpd.conf ) آن قرار دارد. این تنظیمات در حالت کلی توسط شرکت های هاستینگ و یا مدیر سرور پیکره بندی می شوند. ولی ممکن است هر کاربر به مقتضای طراحی اسکریپت خود نیاز به اعمال تغییراتی در کارکرد وب سرور داشته باشد که به دلایل مختلف امکان اعمال آنها بر بستر اشتراکی سرور هاست نباشد.

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

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

البته باید در نظر داشت با توجه به اینکه کل فایل htaccess. در هر درخواست مرورگر یکبار بررسی می شود ، زیاد بودن حجم رول های آن منجر به بروز کندی در نمایش سایت خواهد شد. در ادامه شما را با چند مثال پر کاربرد در این خصوص آشنا می کنیم:

در نظر داشته باشید در مثال های زیر بایستی بجای example.com نام دامنه خود را وارد فرمایید.

ریدایرکت کردن کل ترافیک سرور بر روی https:

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

با قرار دادن این کد ها کل ترافیک هاست به https://www.example.com ریدایرکت می شود.

ریدایرکت کردن فقط یک دامنه از سرور بر بستر https :

RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

قرار دادن فقط یک پوشه از سایت بر بستر https :

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} folder RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]

در این مثال بایستی folder را با نام پوشه مورد نظر جایگزین فرمایید.

ریدایرکت کردن سایت بدون www به وضعیت با www :

RewriteEngine On RewriteCond %{HTTP_HOST} ^ example.com [NC] RewriteRule ^(.*)$ http://www. example.com /$1 [L,R=301]

ریدایرکت کردن سایت از حالت با www به حالت بدون www :

RewriteEngine On RewriteCond %{HTTP_HOST} !^example\.com$ [NC] RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

البته اگر بخواهیم این تغییر را به تفکیک http و https صورت دهیم کد ها به این ترتیب خواهد بود:

RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

ریدارکت کردن document root از public_html  به یک پوشه دیگر:

بوسیله ریدایرکت:

RewriteEngine on RewriteRule   "^/$"  "/folder/"  [R]

بوسیله RedirectMatch :

RedirectMatch "^/$" "http://example.com/folder/"

در این مثال پوشه folder داخل public_html بعنوان document root قرار داده شده است.

مسدود کردن دسترسی یک آی پی به سایت 

order allow,deny deny from 1.2.3.4 allow from all

در این مثال همه به سایت دسترسی خواهند داشت بجز ای پی 1.2.3.4

مسدود کردن دسترسی همه بجز یک آی پی به سایت:

order allow,deny allow from 1.2.3.4 deny from all

در کد های فوق بجز آی پی 1.2.3.4 هیچ کس امکان دسترسی به سایت را ندارد. این کد مثلا برای پوشه های حساس سایت مناسب است. مانند پوشه های مدیریتی که فقط مدیر سایت با در اختیار داشتن یک آی پی ثابت و شخصی بتواند به آن بخش متصل شود.

ریدایرکت سایت بر روی یک نشانی دیگر:

RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]

در این مثال دامنه قدیمی example.com به دامنه جدید example.net ریدایرکت می شود.

ریدایرکت یک فایل مشخص بر روی فایل دیگر:

Redirect 301 /oldfile.htm /newfile.htm

مخفی سازی پسوند فایل :

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php

با قرار دادن این کد ها پسوند .php در انتها فایل ها نمایش داده نمی شود.

  • با خدمات ابری پارس آشنا شوید

    اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم

    ابر سرور

    ابر سرور

    با ابرسرورها می‌توانید سرور با سیستم‌عامل دلخواه خود را در چند دقیقه انتخاب و نصب نموده و آزادانه منابع سخت‌افزاری که در نظر دارید را، در زمان دلخواه به سرور خود بیافزایید و تنها برای منابع مورد نیاز سرور، هزینه پرداخت نمایید.

    هایبرید سرور

    هایبرید سرور

    هایبرید سرورها نسل جدید و پیشرفته سرورهای اختصاصی هستند که با پنل قدرتمند ابری ارائه می‌شوند. در هایبرید سرورها علاوه بر ارائه سخت‌افزار مستقل، امکانات سخت‌افزاری ویژه‌ای نیز در نظر گرفته شده است.

    ماکرو سرور

    ماکرو سرور

    ماکرو سرور محصولی ویژه است که برای دریافت بالاترین کیفیت سخت‌افزاری طراحی شده است. در شرایطی که نیازمند سخت‌افزاری قدرتمند برای سرور خود هستید، ماکرو سرورها منابع سخت‌افزاری مورد نیاز را برای شما فراهم می‌کنند.

    هاست ابری

    هاست ابری

    در هاست ابری برخلاف یک هاست اشتراکی، سایت‌های پر بازدید نیز بسادگی می‌توانند از خدمات میزبانی استفاده کنند، بدون آنکه درگیر دغدغه‌های مدیریت سرور شوند. همواره تنها برای آن میزان از منابع سخت‌افزاری که نیاز دارید هزینه می‌پردازید و دیگر نیازی به پرداخت هزینه‌های غیر موجه، در ابتدای فعالیت وب سایت خود، نخواهید داشت.

    هاست دانلود

    هاست دانلود

    سیاری از مدیران سایت‌های دانلود و یا سایت‌هایی که با ترافیک بالایی برای به اشتراک‌گذاری فایل‌های خود روبرو هستند، عمدتا با مشکلاتی مانند هزینه‌های گزاف زیرساختی و یا مصرف بالای منابع سخت‌افزاری روبرو می‌شوند. از همین رو پارس‌پک با معرفی فضای هاست دانلود برای این دسته از کاربران، محصول مناسبی را پیش‌بینی نموده است.

    مطالعه این مطالب نیز پیشنهاد می‌شود

    مقالات و نظرات اعضای تیم ما درباره تکنولوژی، روزهای کاری و چیزای دیگر…

    تفاوت هاست لینوکس و ویندوز

    یکی از چالش‌های مهم مدیران وب‌سایت‌ها، در هنگام خرید هاست و راه‌اندازی وب‌سایت، انتخاب نوع سیستم‌ عامل هاست است. ارائه‌دهندگان خدمات میزبانی وب و هاست...

    چک لیست امنیت وردپرس

    امنیت وردپرس یکی از موضوعاتی است که اهمیت بسیار بالایی برای مدیران وب‌سایت‌های وردپرسی دارد. گزارشات نشان می‌دهند که در هر دقیقه بیش از ۹۰ هزار وب‌سای...

  • کلیه حقوق برای شرکت دانش بنیان پارس پک محفوظ می باشد.

    Copyright © 2019 Pars Parva System Ltd. ParsPack Cloud Computing Technology ® , All Rights Reserved.