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

#برای محافظت از فایل های مهم مثل config.php از کد زیر استفاده کنیدبعضی از فایل های نیاز دارن پرومشین 777 داشته باشن که این خطر ناکه!در این مواقع میتونید از این کد برای محافظت از فایل مورد نظر استفاده کنید
کد HTML:
<files config.php>
Order deny,allow
deny from all
</files>

<files ".htaccess">
order allow,deny
deny from all
</files>
#جلوگیری از اجرای شل در پوشه خاص حتی اگه هکر شل رو آپلود کنه اجرا نمیشه
کد HTML:
<files ~ "^.*\.(cgi|pl|php3|php4|php5|php6|phtml|shtml) ">
    order allow,deny
    deny from all
    </files>
#برای جلوگیری از دانلود فایل های یک پوشه و همچنین جلوگیری از نمایش سورس فایل ها توسط مرورگراز این کداستفاده کنید
کد HTML:
<files 403.shtml>
    order allow,deny
    allow from all
    </files>
# جلوگیری از کپی و سرقت درمصرف پهنای باند
اونایی که سایت با بازدید بالا دارن یکی از بزرگترین مشکلاتشون کپی شدن عکس هاو مطالب هست و به دلیل لود بالا باعث میشه مصرف پهنای باندشون زیاد بشه و اینکه سایت ارور 500 میگیره با این کد سه فرمت gif jpg css رو محدود کردیم و دیگه نمیتونن کپی کنند!
+به جای site.com ادرس خودتون رو بزارید
کد HTML:
RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(http://www.)?site.com/.*$ [NC]
    RewriteRule .(gif|jpg|css)$ - [F] [/SIZE]
# ذخیره کش در مرورگر
بهینه سازی زمان لودشدن سایت خود را با فشرده کردن فایلها وذخیره کش سایت بجای سرور درمرورگربازدیدکنندگان که باعث مصرف کم منابع ولودسریعترسایت شمامیشود :
کد HTML:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
#کش کردن فایلها یکی دیگر از روشهای بهینه سازی سرعت لود وب سایت می باشد :
کد HTML:
# BEGIN Expire headers
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 month"
  ExpiresByType image/x-icon "access plus 1 year"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/gif "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType application/x-shockwave-flash "access plus 1 month"
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType text/javascript "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"
  ExpiresByType application/x-javascript "access plus 1 year"
  ExpiresByType text/html "access plus 600 seconds"
  ExpiresByType application/xhtml+xml "access plus 600 seconds"
  ExpiresByType font/ttf "access plus 1 year"
  ExpiresByType font/woff "access plus 1 year"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf|woff|ttf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
#قابلیت فشرده‌سازی gzip باعث می‌شود فایل‌های CSS و صفحات وب قبل از ارسال به مرورگر فشرده شوند. این کار باعث افزایش قابل توجه سرعت انتقال می‌شود، زیرا فایل‌ها حجم بسیار کمتری پیدا کرده‌اند. برای فعال سازی قابلیت فشرده سازی GZip این کد را در فایل .htaccess قرار دهید :
کد HTML:
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css  application/x-javascript
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

#برای اینکه دامنه سایتتون بدون www قفل کنید کافیست کد زیر را در htaccess قرار دهید (البته آدرس دامنه خودتان را بجای yoursite.com در خط دوم و سوم وارد کنید) :
کد HTML:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^yoursite\.com$ [NC]
RewriteRule ^(.*)$ http://yoursite.com/$1 [R=301,L]

#ویا قراردادن کدزیرهم باعث قفل www.دامنه با میشود

کد HTML:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#ایجادامنیت برای سایت وجلوگیری از هک شدن
اگر شما می خواهید درجه امنیت وب سایت خود را بالا ببرید، میتوانید این کدها را استفاده کنید تا جلوی هکرها را بگیرید :
کد HTML:
RewriteEngine On
  # proc/self/environ? no way!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]

 # Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

 # Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]

# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

 # Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]

 # Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})

 # Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#تنظیم Timezone
بعضی اوقات، شما از توابع date یا mktime در PHP استفاده می کنیدکه باغث نمایش پیام خطای مکرر میشوید. این کد راه حل آن است. timezone را برای سرور خود ست می کنید. لیستی از timezone ها را می توانید قراردهیدکه برای مناطق مختلف جهان است
کد HTML:
SetEnv TZ Asia/Tehran
#تعیین صفحات سفارشی برای صفحات خطا:
با دستور زیر می توانید صفحاتی رو که برای نمایش هنگام ایجاد خطا، طراحی و در پوشه error قرار دادین رو جایگزین صفحات خطای پیشفرض سرور کنید و خطای مورد نظر خودتون رو به کاربر نشون بدین. معرفی و تعیین صفحات خطا برای سئو سایت تاثیر خوبی داره.
کد HTML:
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php