1) from www to Non-www redirection
I have added here seven examples script for www to Non-www redirection.
# Example - 1 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule ^(.*)$ https://domain.com/$1 [L,R=301]
# Example - 2 #
Code:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
# Example - 3 #
Code:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R]
# Example - 4 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.com
RewriteRule (.*) https://domain.com/$1 [R=301,L]
# Example - 5 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]
# Example - 6 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC]
RewriteRule (.*) https://domain.com/$1 [R=301,L]
# Example - 7 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?domain\.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]
2) from Non-www to www redirection
I have added here five examples script for www to Non-www redirection.
# Example - 1 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]
# Example - 2 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Example - 3 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule (.*) https://www.domain.com/$1 [R=301,L]
# Example - 4 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule (.*) https://www.domain.com/$1 [R=301,L]
# Example - 5 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?domain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]
3) https redirection
For https redirection form www to Non-www and Non-www to www add,
s to any of the above examples to trick it.
4) For sub-folder redirection
For sub folder redirection. Like if you have redeveloped your website and the contents are stored at “/demo’ folder and if you want that to be redirected to the main domain in sub folder, then try any of the below examples.
# Example - 1 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/demo/$1 [R=301,L]
# Example - 2 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^$ http://%{HTTP_HOST}/demo/index.php [R,L]
# Example - 3 #
Code:
RewriteEngine On
RewriteRule ^$ /demo [L]
# Example - 4 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule (.*) https://www.domain.com/$1 [R=301,L]
RewriteRule ^$ demo [L]
or
RewriteRule ^$ /demo [L,R=301]
# Example - 5 #
Code:
RewriteEngine On
RewriteRule ^(.*)$ /demo/$1 [L]
# Example - 6 #
Code:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/$
RewriteRule (.*) https://www.domain.com/demo [R=301,L]
# Example - 7 #
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ demo [L]
# Example - 8 #
Code:
RewriteEngine On
RewriteRule !^demo/ /demo%{REQUEST_URI} [L,R=301]
# Example - 9 #
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteCond %{REQUEST_URI} !^/demo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /demo/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ demo/index.php [L]
# Example - 10 #
Code:
Options -Indexes +SymLinksIfOwnerMatch
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/demo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /demo/$1 [L]
# Example - 11 #
Code:
Options -Indexes +SymLinksIfOwnerMatch
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/demo/
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.
RewriteRule ^(.*)$ /demo/$1 [L]
options to try
also for anyone else needed to try .htaccess for redirects.
Spiro