Apache httpd.conf for redirecting ip to hostname

apache, redirect, virtualhost

Solution

Ok. You are missing a rewrite condition

<VirtualHost XX.XX.XX.XX>

DocumentRoot "/var/www/html"
#ServerName ayz-abc.mysite.com/

 # Other directives here
 RewriteEngine On
 RewriteCond %{HTTP_HOST} !^ayz-abc.mysite.com$
 RewriteRule /.* https://ayz-abc.mysite.com/ [R]

</VirtualHost>

If you don't include this condition it will redirect even with the hostname

Problem

I have external IP and hostname configured for my machine. Inside the application, I am using only the domain names to access the APIs. So when i try to access my APIs through IP address, it shows 302 Moved temporarily error. So, for request(for Homepage) that hits the server with IP address, It should redirect to hostname. That is, when user hits https://XX.XX.XX.XX/main it should be redirected to https://ayz-abc.mysite.com/main For this I tried using the redirect in httpd.conf of apache. ``` <VirtualHost XX.XX.XX.XX> DocumentRoot "/var/www/html" #ServerName ayz-abc.mysite.com/ # Other directives here RewriteEngine On RewriteRule /.* https://ayz-abc.mysite.com/ [R] </VirtualHost> ``` I have also tried with the following ``` <VirtualHost *.portnum> DocumentRoot "/var/www/html" RewriteEngine On RewriteCond %{HTTPS} on RewriteRule https://XX.XX.XX.XX/main https://ayz-abc.mysite.com/main [R=301,L] </VirtualHost> ``` Plsssss help me.

Original source