Differences

This shows you the differences between two versions of the page.

english:technics:tips:page-forwarding [2010/10/30 07:15]
Knut Heermann (flip-flop)
english:technics:tips:page-forwarding [2018/06/03 18:09] (current)
Line 88: Line 88:
\\ \\
 +===== Forwarding with error 404 (second try): =====
 +Another attempt for dealing with "not found" or "moved elswhere".
 +See forum: http://forum.phpwcms.org/viewtopic.php?p=127140#p127140
 +
 +==== Set up a (potentially global) 404 file ====
 +Create a file "moved.php" with the following content (or as you like) and throw it somwhere ;) (your php root will be best for testing purposes, but it could be anywhere):
 +
 +<code html>
 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 +<html xmlns="http://www.w3.org/1999/xhtml">
 +<head>
 +<title>Content not found or moved elsewhere</title>
 +<meta http-equiv="content-type" content="text/html; charset=utf-8" />
 +<meta http-equiv="content-style-type" content="text/css" />
 +<style type="text/css">
 +
 +html {
 + overflow : hidden;
 +}
 +
 +body {
 + color: #fff;
 + background-color: #312d4d;
 + padding: 0;
 + margin: 0;
 + border:0;
 + overflow: hidden;
 + font-size:67.5%;
 +}
 +
 +#main {
 + background-color: transparent;
 + padding: 0.7em;
 + border: 0.3em dashed #b9821a;
 + margin: -16.5em 0 0 -25em;
 + position:absolute;
 + top: 50%;
 + left: 50%;
 + width: 50em;
 + height: 33em;
 + font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
 + font-size:1.1em;
 +}
 +h2 {
 + color:#FF3300;
 + font-size:1.5em;
 +}
 +h4 {
 + color:#FF3300;
 + font-size:1.2em;
 +}
 +a {
 + color:white;
 + font-weight:bold;
 +}
 +hr {
 + color: #EEEEEE;
 + background-color: #EEEEEE;
 + height:0.2em;
 +}
 +#form {
 + background-color:#eeeeee;
 + color:#222222;
 + border:0.2em solid #ff0000;
 + width:20em;
 + margin:0 auto;
 + text-align:center;
 +}
 +#form .input {
 + background-color:#ffffee;
 + color:#222222;
 + border:0.2em solid #ffffff;
 +}
 +#form .submit {
 + background-color:#eeeeee;
 + color:#222222;
 + border:0.2em solid #ffffff;
 +}
 +
 +</style>
 +</head>
 +<body bgcolor="#ffeeee">
 +<div id="main">
 +  <h4>The requested page could not be found or doesn't exist any longer! Please excuse the inconvenience!</h4>
 +    Obviously your bookmarks are a little bit outdated. Please follow the link we have provided for you beneath:<br />
 +  <h4>Die angefragte Seite konnte nicht gefunden werden! Entschuldigen Sie bitte diese Unannehmlichkeit!</h4>
 +    Offensichtlich haben Sie noch einige veraltete Bookmarks gespeichert. Bitte benutzen Sie den folgenden Link, um zu unserer neuen Seite zu gelangen:<br />
 +    <h2><a href="mysupidupidomain.tld/index.php">mysupidupidomain.tld</a><a href="http://www.myothersuperdom.tld1/index.php">myothersuper.tld1</a>, <a href="http://www.anothersupertotal.tld2/index.php">anothersupertotal.tld2</a></h2>
 +    <br />
 +<script type="text/javascript">
 +  var GOOG_FIXURL_LANG = 'de','fr','ch','nl','en','it';
 +  var GOOG_FIXURL_SITE = 'http:/mysupidupidomain.tl/','http:///www.myothersuperdom.tld1/','http://www.anothersupertotal.tld2';
 +</script>
 +<script type="text/javascript"
 +    src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
 +</div>
 +</body>
 +</html>
 +</code>
 +
 +==== We need some frontend_init-script ====
 +
 +This will become a frontend_init script. Call it 404_forwarding.php and throw it into /template/inc_script/frontend_init/
 +<code php>
 +<?php
 +// compare against current domain and redirect to correct if neccessary
 +
 +if(isset($LEVEL_ID[1])) {
 +//check active Domains
 +
 +if($LEVEL_ID[1] == 11 && strpos(PHPWCMS_URL, 'mysupidupidomain.tld') === false) {
 +   header( "HTTP/1.1 301 Moved Permanently" );
 +   headerRedirect('http://mysupidupidomain.tld/index.php'.returnGlobalGET_QueryString());
 +   }
 +}
 +if($aktion[0] == 0 && !isset($_GET['adclickval'])) {
 +
 +switch ($_SERVER["SERVER_NAME"]) {
 +
 +case 'mysupidupidomain.tld':
 +            header( "HTTP/1.1 301 Moved Permanently" );
 +
 +            headerRedirect('index.php?aid=1255');
 +            break;
 +
 +default:header( "HTTP/1.1 301 Moved Permanently" );
 +            headerRedirect('moved.php');
 +            break;
 +  }
 +}
 +
 +?>
 +</code>
 +
 +==== What does this script do? ====
 +It will check if a queried page is existing within your system. Perhaps you did change an alias some while ago and now the bookmarks of your friends are going wonk. phpwcms' frontent_init-script will now take over and call a little page you've set up already, I bet. No?
 +
 +==== Create your error article ====
 +So go ahead and create a new page (article) with an excusion for the worries, a search mask and whatever you like - it's your own phpwcms 404 error page ;) . Don't forget to save it into a hidden category (frontend menu status checked to [x]hide). This way the error page doesn't belong anywhere and can't mislead anybody.
 +
 +==== Edit your 404_forwarding.php ====
 +Check the article id of your newly created article (you know how to do that), edit 404_forwarding.php and enter it instead of that 1255 (because this ArticleID from further above is just an example, not more) to reflect your special article ID.
 +If somebody tries to search your phpwcms installation by using directory structures  like domain.tld/heavy/ the script is passing the force over to moved.php.
 +
 +==== It's for a multidomain setup too ====
 +But this is another story.
english/technics/tips/page-forwarding.1288415744.txt.gz · Last modified: 2018/06/03 18:08 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0