آشنایی با فایل اچ تی اکسس

اچ تی اکسس

آشنایی با htaccess

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

اچ تی اکسس

فایل اچ تی اکسس htaccess چیست؟

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

در سرور های ویندوزی (IIS)، فایل مشابهی وجود دارد بنام web.config که البته زبان برنامه نویسی آن متفاوت می باشد، ولی در کل کاری که انجام می دهد مشابه فایل دات اچ تی اکسس می باشد.

زبان برنامه نویسی فایل اچ تی اکسس مختص خود بوده و برای Rewrite Rule ها می بایست دستور زبان ریجکس یا رگولار اکسپرشن (Regular Expression: Regex) را بلد باشید.

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

کاربرد ها فایل اچ تی اکسس htaccess

  • با استفاده از آن می توانید پسوند فایلها را تغییر دهید.

  • صفحه ای را به صفحه ای دیگر انتقال می دهد.

  • خطاهای ۴۰۰،۴۰۳،۵۰۰،۴۰۴,۴۰۱ را نمایش می دهد.

  • IP های خاصی را مسدود می کند.

  • پوشه ها را رمز نگاری می کند.

  • محتوای یک صفحه را مخفی و پنهان می کند.

  • از سرقت اطلاعات جلوگیری می کند.

  • تصدیق هویت انجام می دهد و نام کاربری و کلمه عبور در فایلهای htpassword را تایید می کند.

  • مشخص می کند که ورود به سایت با پیشوند www باشد یا نه.

دلیل عدم وجود فایل اچ تی اکسس htaccess در وردپرس

دلیل رایج این است که سایت WordPress شما هنوز یک فایل htaccess ایجاد نکرده اید. هنگامی که به بخش تنظیمات > پیوندهای یکتا رجوع می کنید، وردپرس فایل htaccess را می سازد. پس در صورت عدم مشاهده این فایل، به مسیر ذکر شده رجوع کنید. سپس بر روی دکمه ذخیره تغییرات کلیک کنید تا وردپرس یک فایل htaccess را در دایرکتوری اصلی سایت شما ایجاد کند.

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

اچ تی اکسس

تنظیماتی که در فایل .htaccess قرار داده می شود بر روی پوشه جاری و زیر پوشه های آن اعمال می گردد و با قرار دادن یک فایل .htaccess دیگر در زیر پوشه ای خاص تنظیمات پوشه والد را نقض نمود.
بدیهی است که Microsoft هم برای اعمال تنظیمات بر روی IIS چنین امکانی را فراهم کرده باشد. شما می توانید مشابه همین تنظیمات را در فایل web.config پیاده سای کنید. تقریبا تمامی کد هایی که در فایل .htaccess استفاده می شوند را می توان در فایل web.config شبیه سازی کرد.
Microsoft در IIS خود امکانی برای ترجمه مستقیم کد های .htaccess به ساختار XML قابل قبول در Web.config تهیه نموده تا پشتیبانی از سایتهای ایجاد شده توسط PHP را کامل کند.

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

آموزش htaccess، امنیت و مدیریت بهینه وردپرس با آن

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

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

خوب حالا نوبت این میرسه بریم ببینیم چه کارهایی رو میشه با این فایل انجام داد:

۱) محافظت از خود فایل .htaccess :

برای جلوگیری از سرقت اطلاعات خود فایل htaccess کد زیر رو در ابتدای فایل htaccess قرار بدین:

۲) جلوگیری از سرقت فایلهای و فولدرهای درون هاست :

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

۳) معرفی زبان پیشفرض (DefaultCharset) :

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

۴) تعیین صفحات سفارشی برای صفحات خطا :

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

چند خطای آپاچی برای نمونه:

  • خطای ۴۰۱ : دسترسی به آدرس وارد شده غیر مجاز است.
  • خطای ۴۰۳: دسترسی به این آدرس ممنوع می‌باشد.
  • خطای ۴۰۴: آدرس مورد نظر یافت نشد.
  • خطای ۵۰۰: خطای داخلی سرور بوجود آمده است.

۵) بن کردن اسپمرها با .htaccess (محدودیت دسترسی از طریق آی پی) :

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

دستور “allow from all” یعنی همه آی‌پی‌ها بجز آی‌پی‌های مسدود شده دسترسی دارند. اگه بخوایم فقط به آی‌پی‌های خاصی اجازه دسترس بدیم کافیه به این کدی به این شکل وارد کنید “allow from 188.50.38.143” و به جای آی پی درج شده آی پی مورد نظر خودتون رو وارد کنید.

با دستور “deny from 200.49.176.139” هم اجازه دسترسی این آی پی رو میگیرم که می‌تونید به هر تعداد که خواستین از اون زیر هم اضافه کنید. با این کد هم دیگه هیچ آی پی اجازه ورود نخواهد داشت حتی خود شما “deny from all”.

نکته : بعضی مواقق قرار دادن “<Limit GET POST>” و “</Limit>” در ابتدا و انتهای تعیین دسترسی‌ها مشکلاتی رو ایجاد می‌کنه که در این صورت اونها رو از ابتدا و انتهای کدها بردارین.

۶) جلوگیری از ارسال دیدگاه اسپم در وردپرس :

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

۷) حذف category از آدرس سایت وردپرسی شما :

شاید شما هم دوست داشته باشید کلمه /category/ رو از آدرس سایت وردپرسی خودتون حذف کنید. این کار علاوه بر اینکه باعث جمع و جور شدن url شما میشه تاحدودی هم در سئو سایتتون موثر هست. البته با تغییر پیوند یکتای مربوط به category هم میشه که این کار رو افزونه‌های سئو برای شما انجام میدن و این کد رو محض یک راه حل بیرون از چهارچوب اصولی قرار دادم .

۸) تغییر عنوان و پسوند فایل پیش‌فرض index در هنگام بارگذاری :

حتما تا حالا متوجه شدین که در هنگام فراخوانی یک آدرس پیشفرض یکی از فایل های index.html یا index.php یا… بارگزاری میشن. حال اگه دوست داشتین این سنت رو بشکنین می تونین از کد زیر استفاده کنید. با قرار دادن اون هنگام فراخوانی به دنبال file.php میگرده و اگه نبود به دنبال file.html خواهد بود.

۹) ورود به سایت با www یا بدون www :

اینکه سایت از هر دو روش امکان بارگزاری داشته باشه یعنی باید فاتحه سئو سایتتون رو بخونین چون در اینصورت روبوت‌های گوگل فکر میکنن دو دامنه یک مطلب را منتشر میکنه و از ارزش هر دو کم میکنن، طبق تجربه برای سئو بهتره سایت بدون www باشه دلیلش هم کوتاه شدن دامنه هست ولی تا یادم نرفته بگم تا تو دردسر نیوفتین ، اگه تا حالا سایتتون با www بود و ایندکس‌هایی که تو گوگل دارین به این صورت ذخیره شدن از فکر عوض کردنش در بیاین چون نتیجه‌ای جز از دست دادن تمام ایندکس هایی که داشتین براتون نداره جز در مواردی که برای ایجاد این تغییرات ریدایرکت ۳۰۱ در نظر گرفته بشه.

اگه میخواین بفهمین سایتون به چه صورت تو گوگل ثبت شده بهتره در جستجوی گوگل این متن رو وارد کنید (به‌جای yoursite.com دامنه خودتون رو وارد کنید) “site:yoursite.com” و یک بار هم “site:www.yoursite.com” رو وارد کنید با نتیجه جستجو میتونین بفهمین گوگل از چه شکل سایتتون خوشش میاد 🙂

خوب حالا برای اینکه دامنه سایتتون بدون www قفل کنید کافیست کد زیر را در htaccess قرار دهید (البته آدرس دامنه خودتون را بجای yoursite.com در خط دوم و سوم وارد کنید):

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

۱۰) بالا بردن امنیت فایل wp-config.php در htaccess :

برای جلوگیری از سرقت اطلاعات فایل حیاتی و جلوگیری از دسترسی به اطلاعات پایگاه داده سایت کد زیر رو در فایل قرار بدین (این مورد قبلا به صورت کامل از ماندگار وب توسط دوستان درج شده که می تونین برای اطلاعات بیشتر به اون سر بزنین) :

۱۱) مخفی کردن فرمت ها/شناساندن فرمت‌های جدید (add mime type) :

یک راه امنیتی که من واقعا پیشنهاد می‌کنم واسه حفاظت از اسکریپت‌های PHP شما این هست که آنها PHP نباشند! برای مثال: فایل PHP شما با فرمت ASP باز شود!!

یه توضیح مختصر : Addtype به ما می‌گوید که می‌خواهیم یک فرمت جدید بشناسانیم بعد نوع آن فایل های خاص با فرمت دلخواه خود میگوییم مثلا image/png یا text/css بعد می‌گوییم که چه فرمتی رو از این به بعد به عنوان نوعی که گفته‌ایم بشناس.
اما فرض کنید می‌خواهید از shtml/ssl در سایتتون استفاده کنید و نیاز به شناساندن این فرمتها به آپاچی دارین :

۱۲) ریدایرکت/Redirect کردن :

اونقده مردم اومدن با جاوا اسکریپت و امثال اون آدرس‌ها رو به آدرس‌های دیگه‌ای ریدایرکت کردن آخر سر این کد به جاش به وجود اومد 😀

۱۳) محدود کردن نوع فایلهای قابل اجرا و نمایش :

برای حفظ امنیت و اطلاعات سایتتون می‌تونید پسوند فایل‌هایی که بتوان بازشون کرد رو تعیین کنید :

توضیح : با کد بالا کاربر فقط اجازه باز کردن فایل هایی با پسوند css , js و php رو داره و در صورت درخواست سایر پسوندها ریدایرکت میشه به پوشه deny.

۱۴) ایجاد محدودیت در آپلود فایل :

با کد زیر حداکثر حجم فایل قابل آپلود رو ۲۰ مگابایت تنظیم کردیم.

۱۵) ایجاد محدودیت در حجم پست ارسالی :

با کد زیر میشه حداکثر حجم هر پست رو ۲ مگابایت تعیین کرد.

۱۶) نمایش پیغام requast time در بازه زمانی مشخص :

requast time حداکثر زمانی درخواست فراخوانی یک صفحه هست :

۱۷) حداکثر زمان دریافت اطلاعات POST و GET :

۱۸) جلوگیری از سرقت پهنای باند، فایل‌ها و عکس‌ها :

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

۱۹) فعال کردن قابلیت Gzip :

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

۲۰) مدیریت Cache فایلها :

کش یعنی اینکه یه سری از فایلهای سایت شما که تغییراتی ندارن و یا در فواصل زمانی زیاد دچار تغییرات قرار میگرن مشن رو در یک محفظه به نسبت امن در مرورگر کاربر ذخیره کنیم تا در دفعات بعدی مراجعه به سایت این فایلها از خود سیستم اون بارگزاری بشن و در نهایت سرعت بارگزاری سایت خودمون رو چندین چند برابر کنیم.

کدی که در پاین قرار دادم کدی هست که من خودم دارم ازش استفاده میکنم و به مرور کامل شده و شما می تونید از هر بخش اون بنا به نیاز خودتون استفاده کنین:

۲۱) حل مشکل تعداد آیتم های فهرست وردپرس :

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

۲۲) افزایش امنیت محتوای فولدر wp-includes :

کافیه کد زیر رو در htaccess قرار بدین :

فراموش نکنید که :

  • mod_rewrite از درون فایل htaccess اجرا می شود

  • دستورات در فایل htaccess به حروف بزرگ و کوچک حساسند

  • همیشه قبل از دست کاری فایل htaccess از اون نسخه پشتیبان تهیه کنید

 

NiceServer

نظرات کاربران
    مطالب مرتبط
    change-dns-copy
    آموزش تغییر ( DNS ) در ایرنیک

     آموزش تغییر دی ان اس در ایرنیک نحوه تغییر DNS های یک دامنه در ایرنیک در این آموزش شما با نحوه ی…

    برای سئو (SEO) هاست ایران بهتر است یا هاست خارج؟

    تاثیر هاست بر سئو یکی از سوالاتی که همواره برای مدیران سایت‌ها پیش می‌آید این است که؛ هاست ایران بهتر…

    نکات مهم سئو
    نکات مهم در سئو سایت

    نکاتی درمورد سئو سایت از میان صدها قواعد و دستورالعمل های سئو که برخی آنها را معتبر و موثر می…

    درباره نایس سرور

    گروه هاستینگ ، طراحی و پشتیانی نایس سرور در مهر ماه 1396 با هدف ارائه سرويس‌هاي حرفه‌اي ميزباني وب ، طراحی سایت ، چت روم و ثبت دامنه در جهت کمک به خدمات هاستینگ و طراحی کشور شروع به کار کرد.

    طراحی و توسعه منحصر به فرد برای نایس سرور توسط استودیو نوا

    هاست سی پنل

    هاست دایرکت ادمین

    طراحی چت روم

    طراحی سایت

    هاست مخصوص وردپرس

    خرید هاست سی پنل

    لینوکس حرفه ای

    هاست سی پنل

    هاست سی پنل حرفه ای

    طراحی چت روم

    هاست لینوکس حرفه ای

    آراز طرح

    طراحی چت روم

    طراحی چتروم

    جهان دانلود

    نایسی سرور اصلی

    سرور نایس

    لوکس طرح
    یزد طرح
    جهان طرح
    جهان سرور
    یزد سرور
    مای آموز
    طرح اکسترا
    اکسترا طرح