آموزش کدهای redirects در htaccess



ریدایرکت htaccess

نمونه کدهای فایل .htaccess برای ریدایرکت کردن صفحات سایت در این مقاله قرار داده شده است.

 

آموزش ریدایرکت 301

Permanent redirect from example.com to domain.com

  RewriteEngine On
 RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www\.example\.com$
 RewriteRule ^/?$ "http\:\/\/domain\.com\/" [R=301,L]

 

ریدایرکت موقتی 302

Temporary redirect from example.com to domain.com

 

  RewriteEngine On
 RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www\.example\.com$
 RewriteRule ^/?$ "http\:\/\/domain\.com\/" [R=302,L]

 

ریدایرکت از یه url به صفحه اصلی سایت

Redirect from example.com/subfolder to domain.com

  RewriteEngine On
 RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www\.example\.com$
 RewriteRule ^subfolder$ "http\:\/\/domain\.com\/" [R=301,L] 

 

ریدایرکت http به https

Redirect from HTTP to HTTPS

  RewriteEngine On
 RewriteCond %{HTTPS} !=on
 RewriteRule .* {REQUEST_URI} [R,L]یا RewriteCond %{SERVER_PORT} 80
 RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www\.example\.com$
 RewriteRule ^(.*)$  [R,L]

 

ریدایرکت بدون www به www

Redirect from non-WWW to WWW

 

  • for any domain .htaccess takes effect on:
RewriteEngine On
 RewriteCond %{HTTP_HOST} !^www\.
 RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

  • for a certain domain, example.com:
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
 RewriteRule ^(.*)$  [R=301,L] 

 

Redirect from WWW to non-WWW

 

  • for any domain .htaccess takes effect on:
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
 RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
  • for a certain domain, example.com:
RewriteEngine On
 RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
 RewriteRule (.*)  [R=301,L]

 

کد تغییر پوشه اصلی از public_html به یک پوشه دیگر

Changes the directory root for the main domain to public_html/subfolder

  RewriteEngine on
 RewriteCond %{HTTP_HOST} ^(www.)?example.com$
 RewriteCond %{REQUEST_URI} !^/subfolder/
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ /subfolder/$1
 RewriteCond %{HTTP_HOST} ^(www.)?example.com$
 RewriteRule ^(/)?$ subfolder/index.php [L]

 

 

دستورات htaccess

<