I have a number of domain names and previously blogged on how to make Geeklog work on all of them.
I�ve decided now to concentrate on one domain name: julian-kuiters.id.au
There is already a number of links to my other domains, so I needed to configure Geeklog to redirect people to the new domain. I think that re-direct pages are pretty annoying, so I opted to use �HTTP/1.1 301 Moved Permanently� to indicate to browsers and search engines the new address.
After quite a few attempts at inserting the redirect code in the theme, I opted to place it in the lib-common.php file.
The basic code to redirect any connects not on my primary domain is:
if ($_SERVER['SERVER_NAME'] != 'www.julian-kuiters.id.au') { header("HTTP/1.1 301 Moved Permanently"); // Convert to GET header("Location: http://www.julian-kuiters.id.au" . $_SERVER['REQUEST_URI']); header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); }
And I inserted it into the function COM_siteHeader of lib-common.php
function COM_siteHeader( $what = 'menu', $pagetitle = '', $headercode = '' ) { global $_CONF, $_TABLES, $_USER, $LANG01, $LANG_BUTTONS, $LANG_CHARSET, $LANG_DIRECTION, $_IMAGE_TYPE, $topic, $_COM_VERBOSE; //jkuiters 20070420 if ($_SERVER['SERVER_NAME'] != 'www.julian-kuiters.id.au') { header("HTTP/1.1 301 Moved Permanently"); // Convert to GET header("Location: http://www.julian-kuiters.id.au" . $_SERVER['REQUEST_URI']); header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); } // If the theme implemented this for us then call their version instead. $function = $_CONF['theme'] . '_siteHeader';
As you can now see, the same url on different domains automatically takes you to the correct site.