دیدم این تاپیک خوابیده گفتم یک آموزش کلی و کد در اختیار برنامه نویسان عزیز بذارم . خیلی کم دیده می شن که از اچ تی اکسس استفاده می کنن که در اشتباه هستند و منم تلاش می کنم تا بلکه چند نفری بهبود پیدا کنند .
خب بریم روی آموزش :
چنین آدرس هایی داریم که می خواییم نام دامنشون رو عوض کنیم
http://domain.com/cgi-bin/38837728.cgi 
یـــــــــــــــــا
http://www.domain.com/cgi-bin/38837728.cgi
که می خواییم آدرس دامین تبدیل بشه به : 
http://reza.net/cgi-bin/abc/38837728.cgi
میاییم از این کد استفاده می کنیم :                                              
RewriteEngine on
RewriteCond %{SERVER_NAME} www.domain.com|domain.com
RewriteRule ^/?cgi-bin/38837728.cgi  http://reza.net/cgi-bin/abc/38837728.cgi [R=301,L]
==================================================  ===================================== 
در اینجا می تونید آدرس هایی که پسوند آنها php میباشد رو به html  تبدیل کنید  :
RewriteRule ^(.*)\.php$ /$1.html [R=301,L]
و برعکس
RewriteRule ^(.*)\.html$ $1.php [R=301,L]
==================================================  =====================================
در اینجا شرط میذاریم و می گیم اگر ساعت 16 شد که همون 4 بعداز ظهر میشه سایت رو deny all access کن یا ساده تر بگم مسدود کردن دسترسی در ساعت خاصی از روز
 Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{TIME_HOUR} ^16$
RewriteRule ^.*$ - [F,L]
==================================================  ===================================== 
در اینجا می گیم در آدرس ها هر جا _ underscores  یا همون آندرلاین داره رو به خاطر منفی خوردنش در سئو بیا و به - دش تبدیل کن
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
 
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]
 
RewriteCond %{ENV:uscor} ^Yes$
RewriteRule (.*) http://abc.com/$1 [R=301,L]
==================================================  ===================================== 
یک دستور امنیتی :
جلوگیر از اجرا شدن کدها توسط مرورگر زمانی که یک درخواست با X-moz  ارسال می شه
Stop browser prefetching
RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes
 
# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]
==================================================  ===================================== 
جلوگیری از سرقت فایل های  تصویری وب سایت و سرقت پهنای باند شما
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?abc.com/.*$ [NC]
RewriteRule \.(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
==================================================  ===================================== 
مانع از دسترسی کاربر به فایل های داخل پوشه .
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^.+$ [NC]
RewriteRule .* - [F,L]
==================================================  ===================================== 
مانع از دسترسی کاربر به زیر پوشه ها 
Deny access to anything in a subfolder
.
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)/.*\ HTTP [NC]
RewriteRule .* - [F,L]
==================================================  ===================================== 
اینم یک کد بسیار ساده و کارآمد 
درخواست های داخلی سایت اگر تا حد 10 درخواست رسید  یک پیام نمایش بده و جلوگیری کنه 
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
اینم توضیح خارجیش چون شاید یه کم بد توضیح داده باشم:
An error message related to this isRequest exceeded the limit of  10 internal redirects due to probable configuration error. Use  'LimitInternalRecursion' to increase the limit if necessary. Use  'LogLevel debug' to get a backtrace.or you may seeRequest exceeded the limit,probable configuration error,Use 'LogLevel debug' to get a backtrace, orUse 'LimitInternalRecursion' to increase the limit if necessary
==================================================  ===================================== 
اینم چند تا کد امنیتی در برابر درخواست های مخرب کاربر
 برای محافظت از درخواست های مخرب و دیگر رفتار استثماری بررسی می شود.
 RewriteEngine On
 RewriteCond %{THE_REQUEST} ^.*(\\r|\\n|%0A|%0D).* [NC]
 RewriteRule ^(.*)$ - [F,L]
 ==================================================  ===================================== 
یک چیز خیلی جالب که بهش برخوردیم و توضیح می دم.
در  موتور جستجو گر گوگل ، Crauler ها کاربرانی که از سایت هایی  به سایت شما میان ، آدرس هاشون ذخیره می شه و خیلی هم روی امتیاز دادن مثبت  تاثیر داره و اگر آدرس های ذخیره شده از کلماتی که ناشایست بوده و از نظر طراحان امتیاز منفی می خوره استفاده شود  باید از چنین کلماتی جلوگیری کنیم و آدرس های آنها رو قبل از ورود به سایت فیلتر کنیم تا از منفی خوردن در سئو جلوگیری شه .
همه جا از امنیت HTTP_REFERER بد گفتن از تابع  RewriteCond میاییم و امنیتش رو برقرار می کنیم:
بعد کلماتی که مایلید فیلتر شود رو تعریف می کنیم
poker  drugs  پوکر  - مواد مخدر و ........
و در آخر عملیات رو اعمال می کنیم
 RewriteEngine On
 RewriteCond %{HTTP_REFERER} ^(.*)(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC,OR]
 RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?adult(-|.).*$  [NC,OR]
 RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?poker(-|.).*$  [NC,OR]
 RewriteCond %{HTTP_REFERER} ^http://(www\.)?.*(-|.)?drugs(-|.).*$  [NC]
 RewriteRule ^(.*)$ - [F,L]
==================================================  =====================================
جلوگیری از سرقت کوکی :
 RewriteEngine On
 RewriteCond %{HTTP_COOKIE} ^.*(<|>|'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
 RewriteRule ^(.*)$ - [F,L]
جلوگیری از درخواست های مخرب :
 RewriteEngine On
 RewriteCond %{REQUEST_URI} ^.*(,|;|:|<|>|">|"<|/|\\\.\.\\).* [NC,OR]
 RewriteCond %{REQUEST_URI} ^.*(\=|\@|\[|\]|\^|\`|\{|\}|\~).* [NC,OR]
 RewriteCond %{REQUEST_URI} ^.*(\'|%0A|%0D|%27|%3C|%3E|%00).* [NC]
 RewriteRule ^(.*)$ - [F,L]
محافظت از سرورتون در برابر پرس و جو ها :
 RewriteEngine On
 RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\.0\.0\.1).*                                [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(\.|\*|;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00  ).*                 [NC,OR]
 RewriteCond %{QUERY_STRING} ^.*(md5|benchmark|union|select|insert|cast|set|dec  lare|drop|update).* [NC]
 RewriteRule ^(.*)$ - [F,L]
اینم بن کردن آی پی در رنج خاص :
 RewriteEngine On
 RewriteCond %{REMOTE_ADDR} ^123\.$ [OR]
 RewriteCond %{REMOTE_ADDR} ^456\.789\.$ [OR]
 RewriteCond %{REMOTE_ADDR} ^789\.123\.456\.$ [OR]
home page کردن آدرس وب سایت خودتون :
RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
            RewriteRule  ^/$                 /homepage.max.html  [L]
            
            RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
            RewriteRule  ^/$                 /homepage.min.html  [L]
            
            RewriteRule  ^/$                 /homepage.std.html  [L] 
 RewriteRule ^(.*)$ - [F,L]
لطفا از سوالات پیش و پا افتاده پرهیز کنید چون در اوایل پست ها آموزش لازم داده شده .
و در آخر شرمنده اگر غلط املایی یا از کلمات درستی استفاده نکردیم . قصدمون فقط آموزش دادن و کمک به برنامه نویسان عزیز بود .
امیدوارم مثبت واقع شده باشد.
موفق باشید
شادزی