Web site forwarding and redirection methods:
- One can forward a web page URL or home page using the following web page with the "Refresh" directive:
-
This commands the browser to refresh the page with the new specified URL. This forwards a single page only and not the entire domain. It can forward the default home page for the domain giving the appearance of forwarding the domain..or:
08 | Please update your links. |
|
- Use a CGI script to forward a home page: (mod_cgi)
- File: httpd.conf
1 | ScriptAlias / /var/www/cgi-bin/redirect-script/ |
|
File: /var/www/cgi-bin/redirect-script
3 | print "Status: 301 Moved\r\n" . |
|
or:
- Use a PHP script to redirect:
-
- Use a Javascript to redirect:
03 | < script language = "Javascript" type = "text/javascript" > |
|
- Use Apache module (mod_rewrite)
- File: httpd.conf
Forwards all references in entire domain.
- Use Apache module (mod_alias )
- File: httpd.conf
- Redirect Domain:
or
- Redirect Page:
Note:
- Redirect directives take precedence over Alias and ScriptAlias directives.
- Other "Redirect" options include: temp (error 302) default - temporary redirect status, seeother (error 303) resource has been replaced and gone (error 410) resource has been permanently removed.
Example httpd.conf with virtual hosts for multiple domains which all redirect:
1 | < VirtualHost XXX.XXX.XXX.XXX> |
2 | ServerName directtolinux.com |
3 | ServerAlias www.directtolinux.com |
4 | ServerAlias direct-to-linux.com |
5 | ServerAlias www.direct-to-linux.com |
6 | ServerAlias digitalpenguins.com |
7 | ServerAlias www.digitalpenguins.com |
|
- Apache 301 redirect using the .htaccess file:
- If one wants to permanently forward an entire web site to a new URL or forward a single page permanently and have the search engines update their database, one should use a 301 redirect. This may redirect to a new server or to itself but to a different domain. This tutorial shows how. This method is a variation of using the mod_alias redirection shown above except that it allows the customer to redirect themselves by providing a .htaccess file themselves.
2 | RewriteCond %{HTTP_HOST} ^yolinux.com |
|
This example forwards http://yolinux.com to http://www.yolinux.com/ to unify your site to a single URL. This can also simplify your web logs if they can not distinguish between the two.
(Method 5) Apache configuration for redirect using httpd.conf and .htaccess: |
This configures Apache to command the web browser to redirect by performing a GET from the "redirected" web site the user is being forwarded to.
File: /etc/httpd/conf/httpd.conf (older systems used access.conf)
Default: This disables the processing of .htaccess files for the system.
-
or for a specified directory:
1 | < Directory /home/domain/public_html> |
|
Specify directory containing site or page to be redirected:
1 | < Directory /root-directory-of-web-site-to-be-redirected> |
|
AllowOverride parameters: AuthConfig FileInfo Indexes Limits Options
File: .htaccess Create a file /home/domain/public_html/.htaccess in that directory of the domain to be forwarded that looks something like this:
- Redirect entire domain:
-
Note: The use of the "/" at the end of the redirected domain. This is necessary so that http://www.old-domain.com/page1.html will be redirected to http://www.new-domain.com/page1.html.
OR
- Redirect specified pages:
-
You may use the following directives:
- 301: permanent
- 302: temp
- 303: seeother
- 410: gone
For example:
-
If an incorrect directive is used in the httpd.conf or .htaccess file it will result in a server error. Check your log files:/var/log/httpd/error_log.
HTTP Code | Status | Description |
301 | permanent | The resource has permanently moved |
302 | temp | The resource has temporarily moved |
303 | seeother | The resource has been replaced and refer to new resource |
305 | UseProxy | Use proxy to access site |
307 | Temp | The resource has temporarily moved |
410 | Tegone | The resource has permanently removed |
No comments:
Post a Comment