.htaccess file
This file is a configuration file that controls how a webserver responds to various requests. It is supported by several webservers, including the popular Apache webserver used by most commercial web hosting providers.
The file operates at the level of a directory, allowing them to override global configuration settings of .htaccess directives higher in the directory tree.
Force https:// on CPanel
To force your website address from default http:// to https:// use the following:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Redirects
Redirect 301
Redirect 301 is a pointing one URL to another permanently. Here are some different use of redirect 301
Redirecting single URL
This is simply redirecting e.g. http://irawan.io/folder
to https://irawan.io/new-folder
or evendifferent website address
Redirect 301 /folder https://irawan.io/new-folder
Redirect the main folder but leave subfolders as they are
This is to redirect the main landing page of the old page to the new one but keeping the rest of the section/recursive path the same. E.g redicecting https://irawan.io/folder/
to other URL but keeping: https://irawan.io/folder/subfolders
the same.
RewriteCond %{REQUEST_URI} ^/folder/?$
RewriteRule (.*) /newfolder [R=301,L]
Redirect the whole folder including subfolders to one landing page
This is used to redirect the whole area of the website to one destination.
RewriteRule ^folder/(.*)$ https://www.newdestination.com [R=301,NC,L]
Redirect 301 /folder https://www.newdestinations.com
This will redirect https://irawan.io/folder and subfolders e.g https://irawan.io/folder/sub-folders/* to https://newdestinations.com
With this redirection, any folder under */folder/second-level
wont be able to be redirected to a specific url because the RewiretRule will takeover the redirection behaviour.
For a subdomain, simply add the following to the .htaccess in this subdomain. This will redirect the subdomain and all folder under it go to the /new-landing-page
Redirect the whole folder including subfolders to one landing page, but cherry pick some to specific folder (RedirectMatch)
Redirecting the whole folder to one other destination but still able to choose some page under the folder to go somewhere else. E.g /folder/* is redirected to /new-folder but /folder/subfolder/ that is under /folder/* to go to other page.
RedirectMatch 301 ^/folder/second-level/(.*)$ https://irawan.io/new-folder/specific-destination
RedirectMatch 301 ^/folder/(.*)$ https://irawan.io/other-folder