راهنما دستورات :
کد:
. Any single character
[chars] یکی ار کاراکترها میتونه این باشه برای مثال [A]
[^chars] هیج یک از این کاراکتر ها نباشه برای مثال [^A]
text1|text2 همون کار or رو انجام میده
Quantifiers:
? میتونه یک کاراکتر باشه و یا هیچ کاراکتری
* هرچیزی میتونه باشه حتی اگه چیزی وجود نداشته باشه
+ حداقل یک کاراکتر وجود دارد
Grouping:
(text) برای ساختن گروه بکار میره
Anchors:
^ شروع
$ پایان
Escaping:
char برای مثال برای درنظر نگرفتن علائمی مثل [] یا . یا غیره هست در این مواقع به عنوان دستور در نظر نمیگیره
مثال
کد:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^get(.*) /public/download/download.php$1
در مثال بالا ما گفتیم هر ادرسی که بعد از download.php قرار گرفت تبدیلش کنه به ادرس برای مثال
اگه ادرسمون اینجوری باشه :
کد:
http://clicksor.ir/downloads/download.php?myfile=Siavash.zip
تبدیل میشه به :
کد:
http://clicksor.ir/Get?myfile=Siavash.zip
در مثال بعدی میخوایم دسترسی به پوشه هارو بگیریم از کاربر
کد:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)$ deny.php [nc]
تو قسمت بالا اگه کاربر بخواد به هر نحوی وارد یه پوشه بشه ریدایرکت میشه به deny.php
بزارید در مثال بعدی کاری کنیم که فقط به فایل های خاصی دسترسی داشته باشه و بجز اون هر فایلی خواست باز کنه ارور بده :
کد:
Options +FollowSymlinks
RewriteEngine On
rewritecond %{REQUEST_FILENAME} !^(.+).css$
rewritecond %{REQUEST_FILENAME} !^(.+).js$
rewritecond %{REQUEST_FILENAME} !file.php$
RewriteRule ^(.+)$ /deny/ [nc]
تو دستور بالا ما گفتیم فقط به فایل هایCss Js و فایل file.php اجازه بده که توسط کاربر فراخوانی بشه در غیر اینصورت ریدایرکت کنش به پوشه /deny/ .
HotLinking مثال
کد:
کد HTML:
Options +FollowSymlinks
# no hot-linking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^
کد:
http://(www\.)?clicksor\.ir/
[nc]
RewriteRule .*.(gif|jpg|png)$
کد:
http://clicksor.ir/red.jpg
nc]
خوب فکر نمیکنم زیاد لازم به توضیح باشه کد بالا هر درخواستی رو که برای لود کردن عکس با فرمت gif,jpg,png از یه سایت دیگه باشه عکس http://clicksor.ir/red.jpg نمایش داده میشه .
اضافه کردن WWW به ادرس سایت :
این کد این کار رو براتون میکنه :
کد:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^
[nc]
rewriterule ^(.*)$ http://clicksor.ir/$1 [r=301,nc]
در واقع یه نوع ریدایرکت هستش البته از نوع peremantly moved .
ترجمه سایت :
کد:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)-fr$ http://www.google.com/translate_c?hl=fr&sl=en&u=http://clicksor.ir/$1 [r,nc]
RewriteRule ^(.*)-de$ http://www.google.com/translate_c?hl=de&sl=en&u=http://clicksor.ir/$1 [r,nc]
RewriteRule ^(.*)-es$ http://www.google.com/translate_c?hl=es&sl=en&u=http://clicksor.ir/$1 [r,nc]
RewriteRule ^(.*)-it$ http://www.google.com/translate_c?hl=it&sl=en&u=http://clicksor.ir/$1 [r,nc]
RewriteRule ^(.*)-pt$ http://www.google.com/translate_c?hl=pt&sl=en&u=http://clicksor.ir/$1 [r,nc]
در کد بالا در صورتی که به اخر یک لینک یا ادرس یکی از کلمات de , -fr , -pr, -it- اضافه بشه توسط گوگل میتونید ترجمه کنید .
عوض کردن نوع لینک برای مثال نوع ادرس عکس :
کد:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^pictures/(.*) http://clicksor.ir/getpicture.php?$1 [r]
خاموش و روشن کردن رجیستر گلوبال جهت اینستال برخی از برنامه ها
کد:
php_flag register_globals on
منبع : سایت آموزش
علاقه مندی ها (بوک مارک ها)