{"id":297589,"date":"2021-07-13T12:00:00","date_gmt":"2021-07-13T09:00:00","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-redirect-ip-address-to-domain-name-in-nginx-or-apache-cloudsavvy-it\/"},"modified":"2021-07-13T12:00:00","modified_gmt":"2021-07-13T09:00:00","slug":"how-to-redirect-ip-address-to-domain-name-in-nginx-or-apache-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-redirect-ip-address-to-domain-name-in-nginx-or-apache-cloudsavvy-it\/","title":{"rendered":"#How to Redirect IP Address to Domain Name in NGINX or Apache \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a35fe6de10c5\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a35fe6de10c5\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-redirect-ip-address-to-domain-name-in-nginx-or-apache-cloudsavvy-it\/#Why_Is_This_Necessary\" >Why Is This Necessary?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-redirect-ip-address-to-domain-name-in-nginx-or-apache-cloudsavvy-it\/#Setting_Up_a_Default_Route_In_NGINX\" >Setting Up a Default Route In NGINX<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-redirect-ip-address-to-domain-name-in-nginx-or-apache-cloudsavvy-it\/#Setting_Up_a_Default_Route_in_Apache\" >Setting Up a Default Route in Apache<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Redirect IP Address to Domain Name in NGINX or Apache \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage alignnone size-full wp-image-4029\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2017\/07\/7950f98f.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Nginx Logo\" width=\"1676\" height=\"748\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>It\u2019s an edge case, but if someone types in your IP address instead of your domain name, you\u2019ll want your server to handle that request properly, and redirect them to the actual site. We\u2019ll show how to set it up in NGINX and Apache.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Why_Is_This_Necessary\"><\/span>Why Is This Necessary?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>For nearly every request, users are likely coming in using your domain name, so you won\u2019t really see this issue in practice. But, it\u2019s an easy fix, and doesn\u2019t hurt to add.<\/p>\n<p>You can set up your server to specifically listen on your IP address and return a 301 redirect to your real name, which will fix the issue and put your website name in the URL bar for any IP address-only requests.<\/p>\n<p>However, a better and more complete method is to simply handle all other routes by returning a redirect. This way, any users sent to your IP address from anywhere (even with wrong host headers) will get redirected. For instance, if you wanted to point alternate spellings of your domain (i.e., <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/howtogreek.com\/\">howtogreek.com<\/a>), to your real domain, this default redirect works as well.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Setting_Up_a_Default_Route_In_NGINX\"><\/span>Setting Up a Default Route In NGINX<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you simply want to listen on the IP, you can use the following configuration, which returns a 301 redirect for requests made specifically to the IP:<\/p>\n<pre>server {&#13;\n  listen 80;&#13;\n  listen [::]:80;&#13;\n  server_name 123.123.123.123;&#13;\n &#13;\n  add_header X-Frame-Options \"SAMEORIGIN\";&#13;\n&#13;\n  return 301 https:\/\/www.example.com$request_uri;&#13;\n}<\/pre>\n<p>However, you can specifically listen for non-matches using <code>server_name _<\/code>, which only matches if no other rule does. You can return a 301 redirect in the same fashion:<\/p>\n<pre>server {&#13;\n  listen 80 default_server;&#13;\n  listen [::]:80 default_server;&#13;\n  server_name _;&#13;\n&#13;\n  return 301 https:\/\/www.example.com$request_uri;&#13;\n}<\/pre>\n<p>Of course, as with any 301 redirect, you should first test with temporary 302 redirects to ensure your configuration is correct.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Setting_Up_a_Default_Route_in_Apache\"><\/span>Setting Up a Default Route in Apache<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In Apache, you can redirect IP requests to your domain name by adding a rewrite rule that matches for the IP:<\/p>\n<pre>RewriteEngine On&#13;\nRewriteBase \/&#13;\nRewriteCond %{HTTP_HOST} ^123.123.123.123$&#13;\nRewriteRule ^(.*)$ http:\/\/www.example.com\/$1 [L,R=301]<\/pre>\n<p>If you want to redirect all other requests, you can do so by matching everything that\u00a0<em>isn\u2019t<\/em> your domain name, though be careful that this doesn\u2019t conflict with any subdomains.<\/p>\n<pre>RewriteEngine on&#13;\nRewriteCond %{SERVER_NAME} !=www.example.com&#13;\nRewriteRule ^ https:\/\/www.example.com%{REQUEST_URI} [END,NE,R=301]<\/pre>\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/4967\/how-to-redirect-your-ip-address-to-your-domain-name\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Redirect IP Address to Domain Name in NGINX or Apache \u2013 CloudSavvy IT&#8221; It\u2019s an edge case, but if someone types in your IP address instead of your domain name, you\u2019ll want your server to handle that request properly, and redirect them to the actual site. We\u2019ll show how to set it up&#8230;<\/p>\n","protected":false},"author":1,"featured_media":297590,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2017\/07\/7950f98f.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-297589","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/297589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=297589"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/297589\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/297590"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=297589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=297589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=297589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}