کدهای کاربردی Htaccess

کدهای کاربردی Htaccess

فایل اچ‌تی‌اکسس یا htaccess. مخفف Hypper Text Access است که به فارسی می‌توان آن را به دسترسی توسط ابرمتن ترجمه کرد. در حالت عادی اگر بخواهید تغییراتی در وب سرور ایجاد کنید باید به فایل‌های تنظیمات وب سرور اصلی دسترسی داشته باشید. اما این فایل راه انجام بعضی کارها و تغییرات را در وب سرور شما بدون نیاز به فایل‌های اصلی ایجاد می کند، فایل htaccess. توسط به سرورهای Apache و Litespeed استفاده می‌شود.

فعال کردن فایل htaccess.

اگر به تنظیمات سرور دسترسی دارید، می‌توانید پیکربندی Apache را ویرایش کنید تا به فایل htaccess. اجازه دهید تنظیمات استاندارد وب سایت را لغو کند. 

با باز کردن فایل apache2/sites-available/your_domain.conf میزبان مجازی و ویرایشگر متن دلخواه خود شروع کنید. در اینجا ما از nano استفاده خواهیم کرد:

				
					sudo nano /etc/apache2/sites-available/your_domain.conf
				
			

با فرض اینکه پنج مرحله راهنمای نصب پیش نیاز Apache را دنبال کرده‌اید، این فایل‌ حاوی محتویات زیر خواهد بود:

				
					
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

				
			

بلوک محتوای Directory (دایرکتوری) زیر را در بلوک VirtualHost اضافه می‌کنیم:

				
					
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_ DIR}/access.log combined
    

        Options Indexes FollowsymLinks Multiviews
        AllowOverride All
        order allow, deny
        allow from all


				
			

مهمترین خط این Directory بلوک محتوای AllowOverride All است که استفاده از فایل‌های htaccess. را امکان پذیر می‌کند. پس از اینکه این اطلاعات را اضافه کردید، فایل را ذخیره و ببندید اگر از nano استفاده می‌کنید، می‌توانید این کار را با فشار دادن CTRL + X و سپس Y و ENTER انجام دهید.

سپس آپاچی را ریستارت کنید:

				
					sudo service apache2 restart
				
			

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

ایجاد فایل htaccess.

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

اگر پیش نیازها را رعایت کرده باشید، دایرکتوری ریشه وب شما در مکان زیر خواهد بود:  

				
					/var/www/your_domain/.htaccess
				
			

برای ایحاد فایل hteccess. وب سایت خود، دستور زیر را اجرا کنید:

				
					sudo nano /var/www/your_domain/.htaccess
				
			

کاربردهای متداول برای صفحه htaccess.

1_احراز هویت (Authentication)

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

برای ایجاد فایل، دستور htpasswd. را اجرا کنید و گزینه c- و نام کاربری را برای ایجاد فایل htpasswd. مشخص شده وارد کنید. هنگامی که این اتفاق می‌افتد، یک اعلان از شما می‌خواهد که یک رمز عبور ارائه دهید. شما می‌توانید به تعداد خطوط مورد نیاز در فایل htpasswd. وارد کنید، اما مطمئن باشید که هر کاربر خط مربوط به خود را دریافت می‌کند. مثال زیر نحوه ایجاد یک فایل ورودی جدید در فایل، برای کاربر sammy را نشان می‌دهد:

				
					sudo htpasswd -c /etc/apache2/.htpasswd sammy
				
			

می توانید با اجرای cat /etc/apache2/.htpasswd محتویات این فایل را بررسی کنید و برای هر رکوردی که اضافه کرده‌اید، نام کاربری و رمز عبور رمزگذاری شده را خروجی می‌دهد.

هنگامی که کاربر(های) مورد نظر خود را اضافه کردید، سپس فایل htaccess. را باز کنید. اگر راهنمای پیش نیازها را دنبال کردید، در مکان زیر قرار خواهد گرفت:

				
					sudo nano /var/www/your_domain /.htaccess
				
			

به خاطر داشته باشید که در این مثال ما کل ریشه سند را بر اساس /var/www/your_domain محدود میکنیم، اما می‌توان آن را در هر دایرکتوری که می‌خواهید دسترسی به آن را محدود کنید، قرار داد. پس از باز شدن این فایل، محتویات زیر را اضافه کنید و تغییرات را ذخیره کنید تا از تابع رمز عبور استفاده کنید: 

				
					AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
				
			

2_صفحات خطای سفارشی

یک فایل htaccess. به شما امکان می‌دهد صفحات خطای سفارشی را برای سایت خود ایجاد کنید. برخی از رایج ترین خطاها عبارتند از:

  • 400 درخواست بد
  • 401 مجوز مورد نیاز است
  • 403 صفحه ممنوعه
  • 404 فایل یافت نشد
  • 500 خطای داخلی

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

3_انواع MIME

در مواردی که سایت شما دارای برخی از فایل‌‎‌های کاربردی است که سرور برای ارائه آن‌ها تنظیم‌ نشده، می‌توانید انواع برنامه‌های افزودنی ایمیل چند منظوره اینترنتی (MIME) را در فایل htaccess با کد زیر به سرور آپاچی خود اضافه کنید: 

				
					AddType audio/mp4a-latm .m4a
				
			

مطمئن شوید که پسوند برنامه و فایل را با نوع MIME که می‌خواهید پشتیبانی کنید جایگزین شود. برای این مثال یک نوع فایل صوتی MIME را مشخص کرده‌ایم. .  

4_ SSI

SSI یک صرفه جویی در زمان عالی در یک وب‌سایت است. یکی از رایج ترین کاربردهای SSI، به روزرسانی تعداد زیادی از صفحات با برخی داده‌های خاص بدون نیاز به به روزرسانی هر صفحه به صورت جداگانه است. به عنوان مثال، اگر می‌خواهید یک نقل قول در پایین صفحه را تغییر دهید، از این امکان استفاده کنید. برای فعال کردن SSI، کد زیر را در فایل htaccess. وارد کنید: 

				
					AddType text/html .shtml
AddHandler server-parsed .shtml
				
			

این خطوط به htaccess. می‌گویند که فایل‌های shtml معتبر هستند، خط دوم به طور خاص باعث می‌شود که سرور تمام فایل‌هایی را که به shtml. ختم می‌شوند برای هر دستور SSI تجزیه کند. با این حال، می‌گویند اگر صفحات html زیادی دارید که مایل به تغییر نام آن‌ها با پسوندهای shtml. نیستید، می‌توانید از تاکتیک XBitHack برای تجزیه آن‌ها برای دستورات SSI استفاده کنید. می‌توانید از این تاکتیک با افزودن خط زیر به فایل htaccess. استفاده کنید تا آپاچی تمام فایل‌های html را با مجوزهای مناسب برای SSI بررسی کند:

				
					XBitHack on
				
			

برای این‌که صفحه‌ای واجد شرایط XBitHack شود، از دستور chmod برای تغییر مجوز ها استفاده کنید: 

				
					chmod +x pagename.html
				
			

اکنون که با چند کاربرد متداول صفحه htaccess. آشنا شدید، در ادامه با تاثیر فایل htaccess. بر سرعت و امنیت بیشتر آشنا خواهید شد.

سرعت و امنیت فایل‌های htaccess

با وجود این‌که فایل htaccess. می‌تواند برای بهبود یک سایت استفاده شود، دو چیز وجود دارد که می‌تواند بر آن تاثیر بگذارد: سرعت و امنیت.

با توجه به سرعت، فایل htaccess. ممکن است سرعت سرور شما را کاهش دهد، اما برای اکثر سرورها، احتمالاً یک تغییر نامحسوس خواهد بود. که می‌تواند به دلیل موقعیت صفحه باشد زیرا فایل htaccess. در صفحات دایرکتوری آن و همه دایرکتوری‎‌های بعد از آن تاثیر می‌گذارد. این بدان معناست که هر بار که یک صفحه بارگذاری می‌شود، سرور دایرکتوری آن و هر دایدکتوری قبل از آن را اسکن می‌کند تا زمانی که به بالاترین دایرکتوری فایل htaccess. برسد. این فرایند تا زمانی اتفاق می‌افتد که دستورالعمل AllowOverride استفاده از فایل‌های htaccess. را اجازه دهد همان‌طور که در مرحله فعال کردن یک فایل نشان داده شد.

برای امنیت، فایل htaccess. بسیار بیشتر از پیکربندی استاندارد Apache در دسترس است و تغییرات بلافاصله (بدون نیاز به راه‌اندازی مجدد سرور) به صورت زنده انجام می‌شود. و به کاربران اجازه می‌دهد تا در فایل htaccess. تغییراتی را ایجاد کنند و به آن‌ها کنترل زیادی بر روی سرور خود می‌دهد. هر دستورالعملی که در فایل htaccess. قرار می‌گیرد، همان اثری را دارد که در خود پیکربندی آپاچی دارد. همچنین مهم است که توجه داشته باشید Apache به طور کلی استفاده از htaccess. را در صورتی که کاربر بتواند خود به فایل‌های پیکربندی آپاچی دسترسی داشته باشد منع می‌کند.  

و در آخر ...

فایل htaccess. انعطاف‌پذیری زیادی برای ایجاد سایت به شما می‌دهد و با توجه به مزیت‌های زیادی که دارد می‌تواند بسیار کاربردی باشد.

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

اشتراک گذاری

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

برچسب ها

.htaccess LiteSpeed سرور Apache وب سرور