دسته بندی:

کاربرد های فایل htaccess.

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

تنظیمات و کدهایی را که در این فایل قرار میدهید در خود پوشه و زیر پوشه های آن اعمال می شود . و با قرار دادن یک فایل .htaccess دیگر در زیر پوشه ای خاص تنظیمات پوشه والد را تغییر داد .

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

برخی از کاربرد های فایل .htaccess

۱- ۳۰۱ permanent Redirect

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

نکته :ریدایرکت ۳۰۱ به معنای تغییر آدرس صفحه است. از این تکنیک برای انتقال کاربران و موتورهای جستجو به آدرس صفحه جدید استفاده می شود.

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

۲-  Set TimeZone

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

SetEnv TZ Asia/Tehran

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

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

AddType application/octet-stream .pdf

AddType application/octet-stream .zip

AddType application/octet-stream .mov

۴- Custom Error page

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

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

 

۵-  حذف www

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

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

۶-  Compress files

همچنین می توانید با فشرده سازی فایل ها به افزایش سرعت لود سایت بپردازید .

# 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

۸-  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]

۹- Disable caching for certain file type

می توانید cache  برای نوع فایلی را desable کنید.

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

 

۱۰- 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

۱۴- Blocking request based on User-Agent Header

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

# 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

Change default Index page -15

برای تغییر صفحه ایندکس پیش فرث از کد زیر استفاده کنید :

DirectoryIndex business.html

۱۶- 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

ارسال نظر