Letzte Bearbeitung:
Function gotohome
Useage : {{{gotohome();}}}
Diese Funktion hat keine Parameter und ruft unmittelbar die oberste Seite des CMS auf (Start-/Home-Seite oder,
wenn vorhanden, die versteckte Landing-Page).
Dateiname: ./plugins/simpleplugins_xh/simpleplugins_library/404/index.php
<?php
/*****************************************************
* Category : CMSimple_XH
* Typ : CMSimple Plugin
* Package : simpleplugins_xh Edition KRL
*****************************************************
* Function name : 404
* File name : index.php
* Version : 1.7.2
* Build : 20240206
* Autor : Karl Richard Lembach https://lembach-cmsimple.de
* Lizenz : CC-by-SA https://creativecommons.org/licenses/by-sa/4.0/deed.de
* Function : Umleitung zu benutzerdefinierter CMS-Antwort-Seite bei fehlerhafter URL innerhalb des CMS
* Redirection to user-defined CMS response page in case of incorrect URL within the CMS
******************************************************
* Useage : automatically by the CMS
* Example :
******************************************************/
/*
* Prevent direct access.
*/
if (!defined('CMSIMPLE_XH_VERSION')) {
header('HTTP/1.0 403 Forbidden');
exit;
}
/* Dieser Funktion kann als Parameter der Name einer Seite (URL ab incl. dem ?) übergeben werden.
* Ohne Parameter hat sie die gleiche Wirkung wie die Funktion gotohome.
* Sie kann verwendet werden um gezielt eine Seite anzuspringen!
* Sie funktioniert auch dann wenn in der Adresszeiele eine vor dem ? fehlerhafte URL steht.
*
* The name of a page (URL from incl. the ?) can be passed to this function as a parameter.
* Without parameters, it has the same effect as the gotohome function.
* It can be used to jump to a specific page!
* It also works if there is an incorrect URL before the ? in the address line.
*/
if (!function_exists('homeurl')) {
/* Der übergebene Parameter muss eine frei zugängliche existierende Seite auf der eigenen Damain sein.
* Ohne http://domain.tld/ aber mit dem ?.
*
* The parameter passed must be a freely accessible existing page on your own domain.
* Without http://domain.tld/ but with the ?
*/
function homeurl($seite = "")
{
$adresse = CMSIMPLE_URL;
if (!($seite == "")) {
$adresse .= $seite;
}
return $adresse;
}
}
/*
* 404 - Seite nicht gefunden - Eigene Fehlerseite
* Diese Funktion greift nur, wenn die URL vom CMS verarbeitet wird (also ein ? enthält).
* Das bedeutet, wenn die URL kein ? nach der Domainadresse enthält,
* wird das CMS nicht zur Auflösung der Adresse verwendet und der Server gibt seine 404-Fehlermeldung aus.
* Um dies zu verhindern muss eine .htaccess - Datei im root des Servers platziert werden.
* Ob diese Datei auch an anderer Stelle (z. B. Content-/2. Sprachen-Content- Ordner) plaziert werden kann habe ich nicht getestet.
* In dieser .htaccess - Datei muss ein Eintrag nach folgendem Schema existiert:
# eigene Fehlerseiten
# Custom 404 errors
ErrorDocument 404 /?404
* oder besser
# Custom 404 errors - Damit falsche URLs nicht vor /?404 stehen bleiben, den kopletten Link verwenden
ErrorDocument 404 https://domain.tld/?404
* In der Fehlerseite des CMS (z.B. https://domain.tld/?404) sollte eine 404-Statusmeldung an den Browser/Crowler/Bot ausgegeben werden.
* Dadurch wird dem Crowler mitgeteilt, das die URL, die zum 404er Code geführt hat, nicht existiert.
* Andernfall würde der Crowler die 404-Fehlerseite für den Inhalt der URL halten:
<div>#cmsimple header('HTTP/1.0 404 Not Found');#</div>
* oder
<div>#cmsimple header('HTTP/1.1 404 Not Found');#</div>
* Diesen Text an beliebiger Stelle des Contents der Seite einfügen.
*
* 404 - Page not found - Own error page
* This function only works if the URL is processed by the CMS (i.e. contains a ?).
* This means that if the URL does not contain a ? after the domain address,
* the CMS is not used to resolve the address and the server issues its 404 error message.
* To prevent this, a .htaccess file must be placed in the root of the server.
* I have not tested whether this file can also be placed elsewhere (e.g. content / language content folder).
* In this .htaccess file, an entry must exist according to the following scheme:
# eigene Fehlerseiten
# Custom 404 errors
ErrorDocument 404 /?404
* or better
# Custom 404 errors - So that incorrect URLs do not remain before /?404, use the complete link
ErrorDocument 404 https://domain.tld/?404
* In der Fehlerseite des CMS (z.B. https://domain.tld/?404) sollte eine 404-Statusmeldung an den Browser/Crowler/Bot ausgegeben werden.
* Dadurch wird dem Crowler mitgeteilt, das die URL, die zum 404er Code geführt hat, nicht existiert.
* Andernfall würde der Crowler die 404-Fehlerseite für den Inhalt der URL halten:
<div>#cmsimple header('HTTP/1.0 404 Not Found');#</div>
* or
<div>#cmsimple header('HTTP/1.1 404 Not Found');#</div>
* Insert this text anywhere in the content of the page.
*/
if (!function_exists('custom_404')) {
function custom_404()
{
$headertext = "Location: " . homeurl("?404");
header($headertext);
exit;
}
}
/*
* HOMELINK - Erzeugt einen String, der den HTML-Code eines Links enthält
* Diese Funktion gibt den kompletten HTML-Code eines Links in die aufrufende Seite aus.
* Dabei wird die URL komplett mit Domain.tld/ ausgegeben.
*
* HOMELINK - Generates a string containing the HTML code of a link
* This function outputs the complete HTML code of a link in the calling page.
* The URL is output in full with Domain.tld/.
*/
if (!function_exists('homelink')) {
/* Der erste übergebene Parameter muss der Name aus dem Menü sein, der zu der als zweiten Parameter übergebenen Seite passt.
* Der zweite übergebene Parameter muss eine frei zugängliche existierende Seite sein. Ohne http://domain.tld/ aber mit dem ?.
* Der dritte Parameter kann der Inhalt des title-Attributes sein.
*
* The first parameter passed must be the name from the menu that matches the page passed as the second parameter.
* The second parameter passed must be a freely accessible existing page. Without http://domain.tld/ but with the ?
* The third parameter can be the content of the title attribute.
*/
function homelink($linkname = "Start", $seite = "", $titelstring = "")
{
$adresse = CMSIMPLE_URL;
if (!($seite == "")) {
$adresse .= $seite;
}
$linktosite = '<a href="' . $adresse . '" title="' . $titelstring . '">' . $linkname . '</a>';
return $linktosite;
}
}
/* Diese Funktion hat keine Parameter und ruft unmittelbar die oberste Seite des CMS auf (Start-/Home-Seite oder,
* wenn vorhanden, die versteckte Landing-Page).
*
* This function has no parameters and immediately calls up the top page of the CMS (start/home page or,
* if available, the hidden landing page).
*/
if (!function_exists('gotohome')) {
function gotohome()
{
$headertext = "Location: " . CMSIMPLE_URL;
header($headertext);
exit;
}
}
?>