آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / Apache / .htaccess و کاربردهای آن

.htaccess و کاربردهای آن

موارد کاربرد فایل .htaccess

۱٫     Set TimeZone

تنظیم زمان سایت با کد زیر:

SetEnv TZ Asia/Tehran

۲٫      ۳۰۱ permanent Redirect

استفاده از  ۳۰۱ Permanent Redirects برای استفاده در موتور های جستجو

Redirect 301 http://www.domain.com/home  http://www.domain.com/

۳٫     اضافه کردن mime-type

حذف پرسش سرور پیرامون اینکه فایل را باز می نمایید و یا دانلود می کنید. براحتی فایل مورد نظر را download  نمایید.

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

۴٫     حذف www

ارجاع تمام درخواست ها برای باز شدن سایت با www  به URL  سایت که به بهینه سازی برای موتورهای جستجوگر کمک می نماید.

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

۵٫     Custom Error page

ایجاد نمایش خطاهای دلخواه و مسیردهی آن

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

۶٫     Compress files

بهینه سازی سرعت load  سایت با فشرده سازی فایل ها

# 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

۷٫     Cache files

Cache  یکی دیگر از روش های مشهور بهینه سازی load  سایت

FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$
Header set Cache-Control "max-age=2592000"
/FilesMatch

۸٫     Disable caching for certain file type

شما می توانید cache  برای نوع فایل دلخواهی غیرفعال نمایید.

# explicitly disable caching for scripts and other dynamic files
FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$
Header unset Cache-Control
/FilesMatch

امنیت

۹٫     Hotlinking protection with .htaccess

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

RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

۱۰٫ Prevent hacks

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

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]

۱۱٫ Block access to your .htaccess file

برای جلوگیری از دسترسی user ها به .htaccess  ویا سایر انواع فایل از کد زیر استفاده نمایید:

# secure htaccess file
Files .htaccess
order allow,deny
deny from all
/Files
# prevent viewing of a specific file
Files secretfile.jpg
order allow,deny
deny from all
/Files
# multiple file types
FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$
Order Allow,Deny
Deny from all
/FilesMatch

۱۲٫ Rename htaccess files

برای تغییر نام .htaccess  جهت جلوگیری از تغییرات در آن

AccessFileName htacc.ess

۱۳٫ Disable directory browsing

برای فعال یا غیرفعال کردن نمایش لیست زیر محتوای دایرکتوری ها

# disable directory browsing
Options All -Indexes
# enable directory browsing
Options All +Indexes

۱۴٫ Change default Index page

برای تغییر صفحه index پیش فرض

DirectoryIndex business.html

۱۵٫ Block unwanted visitor based on referring domain

جلوگیری از بازدید کننده از دامنه خاص

# block visitors referred from indicated domains
IfModule mod_rewrite.c
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* - [F]
/ifModule

۱۶٫ Blocking request based on User-Agent Header

ذخیره سازی پهنای باند با محدود سازی برای botها  و  spiderها

# block visitors referred from indicated domains
IfModule mod_rewrite.c
SetEnvIfNoCase ^User-Agent$
.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
/ifModule

۱۷٫ Secure directories by disabling execution of scripts

امن سازی دایرگتوری ها از اجرای اسکریپت های مخرب

# secure directory by disabling script execution
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI