آخرین بروزرسانی در تاریخ آگوست 8, 2026 توسط PersiaWebAdmin
فایل .htaccess دقیقاً چیست و چرا اینقدر مهم است؟
.htaccess (مخفف Hypertext Access) یک فایل پیکربندی ساده و متنی است که در وبسرور آپاچی (Apache) استفاده میشود. قدرت اصلی این فایل در این است که شما میتوانید بدون نیاز به دسترسی به تنظیمات اصلی سرور، قوانین و دستورات خاصی را فقط برای یک پوشه و زیرپوشههایش اعمال کنید. به بیان ساده، این فایل حکم یک راهنمای عملیاتی را دارد که به سرور میگوید: «در این بخش از سایت، این قوانین خاص را اجرا کن، اما بقیه جاها را دست نزن!»
چرا این موضوع حیاتی است؟ تصور کنید سایت وردپرسی شما از طریق فایل wp-config.php هک میشود. یا کاربری با آیپی مشخص مدام به سایت شما حمله میکند. یا میخواهید تمام بازدیدکنندگان را از نسخه HTTP به HTTPS هدایت کنید بدون آنکه افزونه اضافی نصب کنید. تمام این کارها — و خیلی بیشتر — با .htaccess در عرض چند دقیقه قابل انجام است. به همین دلیل، تسلط بر این فایل، یکی از مرزهای جداکننده یک مدیر مبتدی از یک مدیر حرفهای وبسایت است.

چرا نام این فایل با یک نقطه شروع میشود؟
نقطه (.) در ابتدای .htaccess یک قرارداد در سیستمعاملهای یونیکس و لینوکس است که فایل را مخفی میکند. این یک لایه امنیتی اولیه است: فایلهای مخفی در مرورگرهای FTP یا مدیر فایل هاست به طور پیشفرض نمایش داده نمیشوند، بنابراین احتمال پاک شدن یا دستکاری تصادفی آن کاهش مییابد. برای مشاهده این فایل در هاست خود، حتماً باید گزینه «نمایش فایلهای مخفی» (Show Hidden Files) را فعال کنید. پس اگر به پوشه public_html رفتید و .htaccess را ندیدید، نگران نشوید — فقط نمایش فایلهای مخفی را روشن کنید.
فایل .htaccess کجا قرار دارد و قوانینش چطور اعمال میشود؟
محل پیشفرض و اصلی این فایل، ریشه دامنه (Document Root) وبسایت شماست؛ یعنی همان پوشهای که معمولاً public_html، www یا htdocs نام دارد. نکته بسیار مهم این است که قوانین نوشتهشده در یک فایل .htaccess، به طور خودکار به تمام زیرپوشههای آن دایرکتوری نیز اعمال میشود. برای مثال، اگر یک قانون امنیتی در فایل public_html/.htaccess بنویسید، این قانون روی پوشه public_html/blog/ نیز اعمال خواهد شد.
با این حال، شما میتوانید با قرار دادن یک فایل .htaccess دیگر در یک زیرپوشه، قوانین سراسری را برای آن پوشه خاص بازنویسی (Override) کنید. این انعطافپذیری فوقالعاده به شما اجازه میدهد که مثلاً برای پوشه مدیریت وردپرس (wp-admin) یک لایه امنیتی اضافی تعریف کنید بدون آنکه روی بقیه سایت تأثیر بگذارد.
نقشه راه کاربردهای .htaccess — این فایل چه کارهایی میتواند بکند؟
برای آنکه بدانید .htaccess چقدر قدرتمند است، کاربردهای اصلی آن را در پنج حوزه دستهبندی کردهایم. هر کدام از این حوزهها در ادامه با کدهای آماده و توضیح کامل بررسی میشوند:
- سپر امنیتی سایت: مسدود کردن آیپیهای مهاجم، محافظت از فایلهای حیاتی (مثل
wp-config.php)، جلوگیری از نمایش محتوای پوشهها، و مسدود کردن رباتهای مخرب. - جراح سئو و عملکرد: ایجاد ریدایرکت ۳۰۱ (انتقال دائمی) که برای سئو حیاتی است، یکپارچهسازی آدرسهای www و non-www، فشردهسازی محتوا با Gzip، و فعالسازی کش مرورگر برای افزایش چشمگیر سرعت.
- کنترلکننده دسترسی: محدود کردن دسترسی به بخشهای خاص بر اساس آیپی، جلوگیری از هاتلینک (سرقت پهنای باند تصاویر توسط سایتهای دیگر)، و حتی قفل کردن کل سایت با رمز عبور.
- مدیریت خطاها: طراحی صفحات خطای سفارشی و کاربرپسند (مثلاً یک صفحه ۴۰۴ اختصاصی که کاربر را راهنمایی میکند) به جای صفحات خشک و خام سرور.
- تنظیمات سرور و PHP: افزایش حداکثر حجم آپلود فایل، افزایش زمان اجرای اسکریپتها، و تغییر برخی تنظیمات PHP بدون نیاز به ویرایش
php.ini.
۱۵ کد طلایی و ضروری .htaccess به همراه توضیح کامل و روش استفاده
در ادامه، مهمترین و پرکاربردترین کدهایی که هر مدیر سایتی باید بلد باشد را در قالب یک جدول مرجع آوردهایم. هر کد با توضیح هدف، نحوه عملکرد و نکات کلیدی همراه است تا دقیقاً بدانید چه میکنید. هشدار: قبل از هرگونه تغییر در فایل .htaccess، حتماً یک نسخه پشتیبان از فایل سالم فعلی تهیه کنید (کافی است یک کپی از آن را در سیستم خود ذخیره کنید).
| کاربرد | کد و توضیح |
|---|---|
| ۱. محافظت از فایلهای حساس | هدف: جلوگیری از دسترسی مستقیم هکرها به فایلهای حیاتی مانند wp-config.php (حاوی رمز دیتابیس)، .htpasswd یا فایلهای لاگ. این اولین خط دفاعی شماست.<Files wp-config.php> |
| ۲. جلوگیری از نمایش محتوای پوشهها | هدف: اگر در یک پوشه فایل ایندکسی (مثل index.php) وجود نداشته باشد، سرور آپاچی به طور پیشفرض لیست تمام فایلهای آن پوشه را به بازدیدکننده نشان میدهد. این یک حفره امنیتی بزرگ است. این کد آن را غیرفعال میکند.Options -Indexes |
| ۳. بن کردن آیپیهای مزاحم و هکرها | هدف: مسدود کردن کامل دسترسی کاربران یا رباتهای مخرب با آیپی مشخص. اگر در لاگهای سایت مدام یک آیپی خاص را میبینید که تلاش به نفوذ دارد، از این کد استفاده کنید. میتوانید یک آیپی منفرد یا یک رنج آیپی را مسدود کنید.Deny from 192.168.1.100 |
| ۴. جلوگیری از هاتلینک (سرقت پهنای باند تصاویر) | هدف: جلوگیری از لینک شدن مستقیم فایلهای تصویری شما (با پسوندهای jpg، png، gif، webp) در سایتهای دیگر. وقتی سایتی دیگر مستقیماً به عکسهای شما لینک دهد، هر بار که آن صفحه لود میشود، پهنای باند هاست شما مصرف میشود. این کد این کار را مسدود میکند و فقط به خود سایت شما و موتورهای جستجو اجازه نمایش تصاویر را میدهد.RewriteEngine On |
| ۵. ریدایرکت ۳۰۱ (انتقال دائمی) | هدف: انتقال کاربران و موتورهای جستجو از یک آدرس قدیمی به یک آدرس جدید، به صورت دائمی. این کار برای سئو فوقالعاده حیاتی است: تمام اعتبار لینکهای صفحه قدیمی به صفحه جدید منتقل میشود. اگر صفحهای را حذف یا ادغام کردهاید، حتماً از این کد استفاده کنید.Redirect 301 /old-page.html https://yourdomain.com/new-page/ |
| ۶. یکپارچهسازی www (حذف یا افزودن) | هدف: استانداردسازی آدرس سایت برای جلوگیری از مشکل «محتوای تکراری». گوگل www.example.com و example.com را دو سایت مجزا میبیند. با این کد، همه را به یک نسخه (با www یا بدون آن) هدایت میکنید.حذف www (هدایت به نسخه بدون www): RewriteEngine Onافزودن www (هدایت به نسخه با www): RewriteEngine On |
| ۷. فعالسازی فشردهسازی Gzip | هدف: کاهش حجم فایلهای متنی (HTML، CSS، JS، XML) تا حدود ۷۰٪ پیش از ارسال به مرورگر کاربر. این کار مستقیماً سرعت بارگذاری سایت را افزایش میدهد و نمره Core Web Vitals را بهبود میبخشد. اکثر هاستهای مدرن ماژول mod_deflate را فعال دارند.<IfModule mod_deflate.c> |
| ۸. طراحی صفحات خطای سفارشی | هدف: به جای صفحات خطای خشک و پیشفرض سرور (مثل صفحه سفید ۵۰۰ یا ۴۰۴ ساده)، یک صفحه اختصاصی و جذاب طراحی کنید که کاربر را راهنمایی کند، اعتمادش را حفظ کند و او را به بخشهای دیگر سایت هدایت نماید. شما میتوانید یک فایل HTML در پوشه دلخواه بسازید و مسیر آن را اینجا بدهید.ErrorDocument 404 /errors/not-found.html |
| ۹. افزایش محدودیت آپلود فایل | هدف: اگر در وردپرس یا اسکریپت خود با خطای «حداکثر حجم آپلود» مواجه میشوید، این کدها محدودیتهای PHP را افزایش میدهند. همچنین زمان اجرای اسکریپت را نیز بالا میبرند که برای سایتهای شلوغ یا عملیات سنگین (مثل ایمپورت دمو) مفید است.php_value upload_max_filesize 64M |
| ۱۰. ریدایرکت اجباری HTTP به HTTPS | هدف: تضمین اینکه تمام بازدیدکنندگان از نسخه امن و رمزگذاریشده سایت (با قفل سبزرنگ) استفاده کنند. این کار هم برای سئو ضروری است و هم اعتماد کاربران را افزایش میدهد. قبل از استفاده، مطمئن شوید گواهی SSL شما فعال و سالم است.RewriteEngine On |
| ۱۱. محافظت از خود فایلهای htaccess و htpasswd | هدف: جلوگیری از اینکه هکرها بتوانند محتوای فایل .htaccess یا .htpasswd شما را از طریق مرورگر مشاهده کنند. یک لایه امنیتی اضافی و ضروری.<Files ~ "^\.ht"> |
| ۱۲. فعالسازی کش مرورگر (Browser Caching) | هدف: به مرورگر کاربران دستور میدهد فایلهای استاتیک (مانند تصاویر، CSS و JS) را برای مدت مشخصی در کش خود ذخیره کند. در بازدیدهای بعدی، این فایلها از حافظه کش خوانده میشوند و نیازی به دانلود مجدد نیست. نتیجه: افزایش چشمگیر سرعت برای کاربران بازگشتی.<IfModule mod_expires.c> |
| ۱۳. محدود کردن دسترسی به پیشخوان وردپرس بر اساس آیپی | هدف: افزودن یک لایه امنیتی قدرتمند: فقط آیپیهای مشخص (مثلاً آیپی محل کار یا منزل شما) اجازه دسترسی به صفحه ورود و پیشخوان وردپرس را داشته باشند. این کد را در فایل .htaccess داخل پوشه wp-admin قرار دهید (اگر وجود ندارد، بسازیدش). دقت کنید که آیپی خودتان ثابت باشد.RewriteEngine On |
| ۱۴. مسدود کردن رباتهای مخرب و اسپمر | هدف: جلوگیری از دسترسی رباتهای معروف (مانند برخی خزندههای سئو یا رباتهای اسپم کامنت) به سایت شما. این کار منابع سرور را آزاد میکند و امنیت را بالا میبرد. میتوانید نام User-Agent هر رباتی را که میخواهید به لیست اضافه کنید.RewriteEngine On |
| ۱۵. تنظیم زبان و کاراکتر پیشفرض | هدف: اطمینان از اینکه تمام صفحات سایت شما با رمزگذاری UTF-8 (استاندارد جهانی برای نمایش صحیح حروف فارسی و سایر زبانها) سرو شوند. این کار از بههمریختگی و نمایش علامت سوال (�) به جای حروف فارسی جلوگیری میکند.AddDefaultCharset UTF-8 |
چگونه فایل .htaccess را بسازیم یا ویرایش کنیم؟ (گامبهگام)
شاید به ظاهر ترسناک بیاید، اما ساختن یا ویرایش این فایل یکی از سادهترین کارها در مدیریت سایت است. دو روش اصلی وجود دارد:
روش اول: استفاده از File Manager هاست (سادهترین راه)
- وارد کنترلپنل هاست خود (مثلاً cPanel یا DirectAdmin) شوید.
- ابزار File Manager را باز کنید و به پوشه
public_html(یا ریشه سایت) بروید. - در نوار ابزار بالای صفحه، گزینه Settings را پیدا کرده و تیک «Show Hidden Files (dotfiles)» را فعال کنید تا فایلهای مخفی نمایش داده شوند. دکمه Save را بزنید.
- حالا اگر فایل
.htaccessوجود دارد، روی آن کلیک راست کرده و Edit را انتخاب کنید. اگر وجود ندارد، روی +File کلیک کنید، نام فایل را دقیقاً.htaccessبگذارید و Create را بزنید. سپس آن را Edit کنید. - کدهای مورد نظر خود را اضافه کنید، سپس روی Save Changes کلیک کنید.
روش دوم: استفاده از نرمافزار FTP (مانند FileZilla)
- با استفاده از اطلاعات FTP (که هاستینگ در اختیارتان گذاشته) به سرور متصل شوید.
- به پوشه
public_htmlبروید. اگر فایل.htaccessرا نمیبینید، از منوی Server گزینه Force showing hidden files را فعال کنید. - فایل را روی سیستم خود دانلود کنید. با یک ویرایشگر متن ساده و ایمن (مانند Notepad++ در ویندوز یا VS Code — هرگز از Word یا نرمافزارهای واژهپرداز استفاده نکنید) آن را باز و ویرایش کنید.
- فایل ویرایش شده را دوباره روی سرور آپلود کنید و فایل قبلی را بازنویسی (Overwrite) کنید.
قوانین حیاتی و هشدارهای امنیتی (نادیده گرفتنشان = فاجعه)
کار با .htaccess قدرتی باورنکردنی به شما میدهد، اما یک اشتباه کوچک میتواند کل سایت را با خطای ۵۰۰ Internal Server Error از کار بیندازد. این قوانین را حکشده روی مانیتورتان تصور کنید:
- همیشه قبل از ویرایش، بکآپ بگیرید. از فایل سالم یک کپی در کامپیوتر خود ذخیره کنید. بازیابی یک فایل سالم، فقط ۱۰ ثانیه وقت میبرد.
- حتی یک فاصله یا اینتر اضافه میتواند فاجعه بیافریند. سینتکس این فایل بسیار حساس است. هر خط باید دقیقاً مطابق استاندارد نوشته شود. اگر مطمئن نیستید، کد را عیناً کپی-پیست کنید.
- اگر سایت خطای ۵۰۰ داد، نترسید. بلافاصله از طریق FTP یا File Manager، نام فایل
.htaccessرا به.htaccess_brokenتغییر دهید. سایت بلافاصله به حالت عادی برمیگردد. سپس فایل خراب را باز کنید و خطای خود را پیدا کنید (معمولاً یک کاراکتر اضافه یا دستور ناقص). - از یک محیط تست (Staging) استفاده کنید. اگر دستورات پیچیدهای را امتحان میکنید، اول آن را روی یک سایت تستی یا زیردامنه آزمایشی پیاده کنید و سپس به سایت اصلی منتقل کنید.
- دستوراتی که درک نمیکنید را اجرا نکنید. هر دستور را قبل از استفاده تحقیق کنید. یک جستجوی ساده با نام دستور، اطلاعات کاملی به شما میدهد.
چکلیست نهایی برای استفاده از .htaccess
اگر میخواهید همین الان دست به کار شوید، این چکلیست را گامبهگام دنبال کنید:
- یکی از ۱۵ کد طلایی را که نیاز دارید انتخاب کنید (اگر مبتدی هستید، با «جلوگیری از نمایش محتوای پوشهها» یا «تنظیم کاراکتر UTF-8» شروع کنید که بیخطرترند).
جمعبندی — قدرت واقعی در دستان شماست
فایل .htaccess فقط یک فایل متنی ساده نیست؛ بلکه ابزاری قدرتمند و ضروری در جعبه ابزار هر مدیر حرفهای وبسایت است. با یادگیری و بهکارگیری کدهای ارائهشده در این راهنما، میتوانید امنیت سایت خود را چند لایه تقویت کنید، سرعت بارگذاری را به طور محسوس افزایش دهید، تجربه کاربری را بهبود بخشید و کنترل کاملی بر رفتار سرور خود داشته باشید — همه اینها بدون نصب حتی یک افزونه اضافی.
توصیه میکنیم این مقاله را در بوکمارک مرورگر خود ذخیره کنید تا هر زمان که نیاز به مرجع سریعی از کدهای ضروری داشتید، در دسترس باشد. حالا نوبت شماست: یکی از کدهای بالا را که برای سایتتان مفید است انتخاب کنید و همین امروز پیادهسازی کنید. اگر سوالی دارید یا تجربهای در استفاده از این کدها، خوشحال میشویم در بخش نظرات با ما به اشتراک بگذارید.
برای طراحی سایت و خرید رپورتاژ آگهی می توانید از خدمات پرشیا وب استفاده نمایید.
“`
بنیامین ولادوست، بنیانگذار و مدیر تیم تخصصی پرشیا وب، بیش از یک دهه تجربه حرفهای در عرصۀ طراحی وبسایت، سئو، تولید محتوا، فروش رپورتاژ و بکلینک دارد. او با ترکیب دانش فنی و درک عمیق از رفتار کاربران، به برندها و کسبوکارها کمک میکند تا نهتنها ظاهر دیجیتال قدرتمندی داشته باشند، بلکه در نتایج جستجوی گوگل هم بدرخشند.
از سال ۲۰۱۳ فعالیت حرفهای خود را در حوزه طراحی وب آغاز کرد و تاکنون بیش از 300 پروژه طراحی سایت و بهینهسازی سئو در صنایع مختلف اجرا کرده است. تجربه عملی او در پروژههای واقعی، به ویژه در کسبوکارهای ایرانی، موجب شده است بتواند راهکارهایی کاملاً کاربردی و بومی برای رشد آنلاین ارائه دهد.
طراحی و توسعه وبسایتهای شرکتی، فروشگاهی و شخصی با تمرکز بر سرعت، امنیت و تجربه کاربری (UX)
استراتژیهای سئو فنی، on-page و off-page برای افزایش رتبه در نتایج گوگل
تحلیل رقبا، تحقیق کلمات کلیدی و اجرای کمپینهای تولید محتوا
مشاوره و اجرای رپورتاژ آگهی و لینکسازی هدفمند برای بهبود اعتبار دامنه
طراحی کمپینهای دیجیتال مارکتینگ یکپارچه برای برندهای نوپا و فعال
مطالب آموزشی و مقالات سئویی که توسط بنیامین ولادوست در وبلاگ “پرشیا وب” منتشر میشوند، بر پایه جدیدترین الگوریتمهای گوگل و استانداردهای جهانی تدوین شدهاند. او به عنوان متخصص مورد اعتماد در حوزه دیجیتال مارکتینگ، تاکنون در بیش از ۲۰ مجموعه آموزشی و ورکشاپ تخصصی سخنرانی و تدریس داشته است. بسیاری از کسبوکارهای آنلاین موفق، مسیر رشد خود را با آموزشها و راهنماییهای او آغاز کردهاند.
تمام راهکارها و خدماتی که توسط بنیامین ولادوست و تیم “پرشیا وب” ارائه میشوند، بر پایه صداقت، شفافیت و تحلیل دادههای واقعی بنا شدهاند. هدف او ارائه مشاورهای است که نه بر اساس تبلیغات، بلکه بر پایه داده و عملکرد واقعی کسبوکارها باشد.