کاربرد های فایل 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
ارسال نظر