سرفصل های مقاله
- 1 mod_rewrite چیست؟
- 2 مثالهای mod_rewrite
- 2.1 صفحه اصلی پیش فرض را تنظیم کنید
- 2.2 دسترسی IP را مشخص کنید
- 2.3 همه صفحات وب را تغییر مسیر دهید
- 2.4 جلوگیری از دسترسی به زیر پوشه
- 2.5 جلوگیری از دسترسی به زیر دامنه
- 2.6 دسترسی به دامنه بدون www
- 2.7 دسترسی به دامنه با www
- 2.8 تنظیم پوشه پیش فرض خانه
- 2.9 تغییر مسیر دسترسی به پوشه
- 2.10 اجباری کردن لود با https
- 2.11 مسدود کردن چند مراجعه کننده ترافیک
- 2.12 بستن دسترسی به نوع خاصی از فایل ها
- 2.13 حذف Index
- 2.14 حذف .php
- 2.15 حذف index و /
- 2.16 اضافه نموده .php برای دسترسی به یک فایل بدون ریدایرکت
mod_rewrite چیست؟
servervds برای میزبانی وب سایت شما از Apache ، نرم افزار منبع باز HTTP سرور استفاده می کند. آپاچی را می توان از طریق ماژول ها سفارشی سازی کرد و ماژول mod_rewrite برای استفاده در اختیار شما قرار می گیرد. mod_rewrite می تواند یک URL را به URL دیگر هدایت کند ، URL های درخواستی را بازنویسی کند ، دسترسی به سایت شما را محدود کند و … .
با قرار دادن آن در پرونده .htaccess ، می توانید از قانون بازنویسی استفاده کنید. در زیر نمونه هایی از نحوه استفاده از این قوانین برای شخصی سازی تجربه میزبانی خود آورده شده است.
مثالهای mod_rewrite
در اینجا نمونه هایی از قوانینی وجود دارد که به شما امکان می دهد موارد زیر را انجام دهید:
صفحه اصلی پیش فرض را تنظیم کنید
#Specify a default home page (index page)
DirectoryIndex home.html
دسترسی IP را مشخص کنید
#Allow only specified IPs to access your site
deny from all
allow from 64.95.219.140
allow from 210.23.45.67
همه صفحات وب را تغییر مسیر دهید
# Redirect all pages from olddomain.com
# to newdomain.com
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^olddomain.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
جلوگیری از دسترسی به زیر پوشه
#Prevent subfolder loading. This goes
# in htaccess for the primary domain
RewriteCond %{HTTP_HOST} ^primary\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.primary\.com$
RewriteRule ^addon\.com\/?(.*)$ "http\:\/\/www\.addon\.com\/$1" [R=301,L]
جلوگیری از دسترسی به زیر دامنه
#Prevent subdomain name loading.
#This goes in htaccess for the primary domain
RewriteCond %{HTTP_HOST} ^subname\.primary\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.subname\.primary\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.addon\.com\/$1" [R=301,L]
دسترسی به دامنه بدون www
# Never use www in the domain
# Replace 'example.com' with your domain name
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?example\.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]
دسترسی به دامنه با www
# Always use www in the domain
# Replace 'example.com' with your domain name
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]
تنظیم پوشه پیش فرض خانه
# Set a default home directory, (this subfolder always loads)
# Replace 'folder' with your subfolder name
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ /folder/ [R=301,L]
</IfModule>
تغییر مسیر دسترسی به پوشه
# Rename a directory and force visitors to the new name
# Replace 'old' with your old folder name
# Replace 'new' with your new folder name
RewriteEngine on
RewriteRule ^/?old([a-z/.]*)$ /new$1 [R=301,L]
اجباری کردن لود با https
# Always use https for secure connections
# Replace 'www.example.com' with your domain name
# (as it appears on your SSL certificate)
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
مسدود کردن چند مراجعه کننده ترافیک
# Block traffic from multiple referrers
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} badsite\.com [NC,OR]
RewriteCond %{HTTP_REFERER} badforum\.com [NC,OR]
RewriteCond %{HTTP_REFERER} badsearchengine\.com [NC]
RewriteRule .* - [F]
بستن دسترسی به نوع خاصی از فایل ها
#Do not allow these file types to be called
RewriteEngine on
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|exe|swf)$ - [F,NC]
حذف Index
Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# remove index
RewriteCond %{THE_REQUEST} /index(\.php)?[\s?/] [NC]
RewriteRule ^(.*?)index(/|$) /$1 [L,R=301,NC,NE]
حذف .php
Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [L,R=301]
حذف index و /
Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# remove index
RewriteRule (.*)/index$ $1/ [R=302]
# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301,L]
اضافه نموده .php برای دسترسی به یک فایل بدون ریدایرکت
Options +FollowSymLinks -MultiViews -indexes
RewriteEngine On
RewriteBase /
# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1.php [L]
خدمات سرور اختصاصی
خدمات سرور مجازی
خدمات میزبانی وب
خدمات لایسنس
درباره ما
قوانین ما
تهران، سهروردی شمالی، جنب بانک صادرات، پلاک ۷۱۰ طبقه۲ واحد۳
نماد های اعتبار
تمامی حقوق مادی و معنوی این وب سایت برای ServerVds محفوظ می باشد.
ما را در شبکه های اجتماعی دنبال کنید!