title: PHP Get Site URL Protocol - http vs https
body: <p>I've written a little function to establish the current site url protocol but I don't have SSL and don't know how to test if it works under https. <strong>Can you tell me if this is correct?</strong></p>
  
  <pre><code>function siteURL()
  {
      $protocol = (!empty($_SERVER['HTTPS']) &amp;&amp; $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
      $domainName = $_SERVER['HTTP_HOST'].'/';
      return $protocol.$domainName;
  }
  define( 'SITE_URL', siteURL() );
  </code></pre>
  
  <p><strong>Is it necessary to do it like above or can I just do it like?:</strong></p>
  
  <pre><code>function siteURL()
  {
      $protocol = 'http://';
      $domainName = $_SERVER['HTTP_HOST'].'/'
      return $protocol.$domainName;
  }
  define( 'SITE_URL', siteURL() );
  </code></pre>
  
  <p>Under SSL, doesn't the server automatically convert the url to https even if the anchor tag url is using http? Is it necessary to check for the protocol?</p>
  
  <p>Thank you!</p>