If you need to change the address of a page that appears in Google's search engine results, you'll need to use a server-side 301 redirect. The 301 status indicates that the page has permanently moved to a new location. When Google (or any other search engine) sees a 301 redirect it knows that the page has changed location and will carry any link weighting from the original page to the new URL.
It is possible to redirect in two different ways: using the web server or using server side code, such as PHP.
301 Redirect using Apache
To redirect using Apache, you'll need to have mod_rewrite enabled. Most apache installations will have mod_rewrite installed by default. To check to see if the module is installed, add the following line to the apache configuration file or to an applicable .htaccess file:
` RewriteEngine On
Now you know mod_rewrite is enabled, you can add your rewrite rule to either the apache configuration file or a .htaccess file. To redirect you'll need to use a RedirectMatch directive. Here are some examples:
RedirectMatch 301 /category/education.php http://garyhall.org.uk RedirectMatch 301 /category/(.*) /$1 RedirectMatch 301 /category/categorydetail.php(.*) http://garyhall.org.uk/newcat.php$1
See here for the official Apache documentation on this subject.
301 redirect using PHP
If you don't have access to the webserver but do have access to php, then you can redirect using PHP. This is a lot quicker and can be done by inserting the following code into a webpage that you want to redirect:
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://garyhall.org.uk/newpage.php"); ?>
Using the web server option is preferable if you have lots of redirects to make, but for a quick and easy redirect then the php option is just as good. Both are regarded by the search engines to be as good as each other.