Redirect / to https://www.abc.com

OS:- Ubuntu server 20.04
Webmin version:- 1.981
Virtualmin version:- 6.17

Hi,

I want to Redirect from / to https://www.abc.com.

I know it’s possible in Virtualmin but I forget how to do it? I want only one domain.

You need to have a certificate already requested and enabled for that domain.
Server configuration → website options → “Redirect all requests to SSL”

I have done this. the domain is going to https://abc.com. I want all redirects from http://abc.com, https://abc.com and http://www.abc.com to https://www.abc.com

Add this to a .htaccess file:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Please help me in this. i did before but now I have forgotten.

I’ve done it before but not on that screen. Let’s say you want THISDOMAN to forward to THATDOMAIN. Go to the virtual server for THISDOMAIN.

Click on Server Configuration / Website Redirects and click on Add New Website Redirect. You should see this screen:

Then you just enter the URL path and the path where you want it to go. I recall having issues with getting the path right but it does work.

[quote=“DrCarsonBeckett, post:4, topic:112373, full:true”]
Add this to a .htaccess file:

This is my .htaccess file of Wordpress. Please help me in this file.Where I put this code?

> RewriteEngine On
> RewriteCond %{HTTP_HOST} !^www\. [NC]
> RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
> ```
> [/quote]
> 
> # BEGIN WP Rocket v3.10
> # Use UTF-8 encoding for anything served text/plain or text/html
> AddDefaultCharset UTF-8
> # Force UTF-8 for a number of file formats
> <IfModule mod_mime.c>
> AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml
> </IfModule>
> # FileETag None is not enough for every server.
> <IfModule mod_headers.c>
> Header unset ETag
> </IfModule>
> # Since we’re sending far-future expires, we don’t need ETags for static content.
> # developer.yahoo.com/performance/rules.html#etags
> FileETag None
> <IfModule mod_alias.c>
> <FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml)$">
> <IfModule mod_headers.c>
> Header set X-Powered-By "WP Rocket/3.10"
> Header unset Pragma
> Header append Cache-Control "public"
> Header unset Last-Modified
> </IfModule>
> </FilesMatch>
> <FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
> <IfModule mod_headers.c>
> Header unset Pragma
> Header append Cache-Control "public"
> </IfModule>
> </FilesMatch>
> </IfModule>
> <IfModule mod_mime.c>
> 	AddType image/avif                                  avif
>     AddType image/avif-sequence                         avifs
> </IfModule>
> # Expires headers (for better cache control)
> <IfModule mod_expires.c>
> 	ExpiresActive on
> 	ExpiresDefault                              "access plus 1 month"
> 	# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
> 	ExpiresByType text/cache-manifest           "access plus 0 seconds"
> 	# Your document html
> 	ExpiresByType text/html                     "access plus 0 seconds"
> 	# Data
> 	ExpiresByType text/xml                      "access plus 0 seconds"
> 	ExpiresByType application/xml               "access plus 0 seconds"
> 	ExpiresByType application/json              "access plus 0 seconds"
> 	# Feed
> 	ExpiresByType application/rss+xml           "access plus 1 hour"
> 	ExpiresByType application/atom+xml          "access plus 1 hour"
> 	# Favicon (cannot be renamed)
> 	ExpiresByType image/x-icon                  "access plus 1 week"
> 	# Media: images, video, audio
> 	ExpiresByType image/gif                     "access plus 4 months"
> 	ExpiresByType image/png                     "access plus 4 months"
> 	ExpiresByType image/jpeg                    "access plus 4 months"
> 	ExpiresByType image/webp                    "access plus 4 months"
> 	ExpiresByType video/ogg                     "access plus 4 months"
> 	ExpiresByType audio/ogg                     "access plus 4 months"
> 	ExpiresByType video/mp4                     "access plus 4 months"
> 	ExpiresByType video/webm                    "access plus 4 months"
> 	ExpiresByType image/avif                    "access plus 4 months"
> 	ExpiresByType image/avif-sequence           "access plus 4 months"
> 	# HTC files  (css3pie)
> 	ExpiresByType text/x-component              "access plus 1 month"
> 	# Webfonts
> 	ExpiresByType font/ttf                      "access plus 4 months"
> 	ExpiresByType font/otf                      "access plus 4 months"
> 	ExpiresByType font/woff                     "access plus 4 months"
> 	ExpiresByType font/woff2                    "access plus 4 months"
> 	ExpiresByType image/svg+xml                 "access plus 1 month"
> 	ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
> 	# CSS and JavaScript
> 	ExpiresByType text/css                      "access plus 1 year"
> 	ExpiresByType application/javascript        "access plus 1 year"
> </IfModule>
> # Gzip compression
> <IfModule mod_deflate.c>
> # Active compression
> SetOutputFilter DEFLATE
> # Force deflate for mangled headers
> <IfModule mod_setenvif.c>
> <IfModule mod_headers.c>
> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
> RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
> # Don’t compress images and other uncompressible content
> SetEnvIfNoCase Request_URI \
> \.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary
> </IfModule>
> </IfModule>
> # Compress all output labeled with one of the following MIME-types
> <IfModule mod_filter.c>
> AddOutputFilterByType DEFLATE application/atom+xml \
> 		                          application/javascript \
> 		                          application/json \
> 		                          application/rss+xml \
> 		                          application/vnd.ms-fontobject \
> 		                          application/x-font-ttf \
> 		                          application/xhtml+xml \
> 		                          application/xml \
> 		                          font/opentype \
> 		                          image/svg+xml \
> 		                          image/x-icon \
> 		                          text/css \
> 		                          text/html \
> 		                          text/plain \
> 		                          text/x-component \
> 		                          text/xml
> </IfModule>
> <IfModule mod_headers.c>
> Header append Vary: Accept-Encoding
> </IfModule>
> </IfModule>
> <IfModule mod_mime.c>
> AddType text/html .html_gzip
> AddEncoding gzip .html_gzip
> </IfModule>
> <IfModule mod_setenvif.c>
> SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip
> </IfModule>
> 
> 
> 
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteBase /
> RewriteCond %{HTTPS} on [OR]
> RewriteCond %{SERVER_PORT} ^443$ [OR]
> RewriteCond %{HTTP:X-Forwarded-Proto} https
> RewriteRule .* - [E=WPR_SSL:-https]
> RewriteCond %{HTTP:Accept-Encoding} gzip
> RewriteRule .* - [E=WPR_ENC:_gzip]
> RewriteCond %{REQUEST_METHOD} GET
> RewriteCond %{QUERY_STRING} =""
> RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
> RewriteCond %{REQUEST_URI} !^(/(.+/)?feed/?.+/?|/(?:.+/)?embed/|/checkout/(.*)|/cart/|/my-account/(.*)|/wc-api/v(.*)|/(index\.php/)?wp\-json(/.*|$))$ [NC]
> RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [NC]
> RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f
> RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L]
> </IfModule>
> 
> 
> # END WP Rocket
> RewriteEngine On
> RewriteCond %{HTTP_HOST} !^www\. [NC]
> RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
> # BEGIN WordPress
> # The directives (lines) between "BEGIN WordPress" and "END WordPress" are
> # dynamically generated, and should only be modified via WordPress filters.
> # Any changes to the directives between these markers will be overwritten.
> 
> <IfModule mod_rewrite.c>
> RewriteEngine On
> RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
> RewriteBase /
> RewriteRule ^index\.php$ - [L]
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule . /index.php [L]
> </IfModule>
> 
> # END WordPress

There is a problem in dns records. Now its working.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.