دسته بندی:

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

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

حدود ۴ دقیقه مطالعه

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

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

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

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

۱- ۳۰۱ permanent Redirect

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

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

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

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

# 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

آموزش‌های مرتبط

ارسال نظر