Hallo,
hab ein Skript geschrieben damit ich Suchmaschienenfreundliche Urls hat (z.B.:http://www.example.de/Tutorials/Php/Einführung.html).
Nur funktioniert es nicht, wenn eine Seite eingegeben wird, die nicht existiert (404).
Vielleicht findet jemand den Fehler oder kennt ein besseres Sktipt.
Funktionsweise:
Es wird überprüft ob es die Angefordete Seite gibt (wird in config.inc.php Deklariert). Falls es diese gibt wird die Geladen, ansonsten wird 404.php geladen. Sollte es $_GET nicht geben wird die Startseite geladen.
PS: Arbeite mit Templateengine Smarty und xammp (http://www.apachefriends.org/de/xampp-windows.html)
.htaccess Datei
config.inc.php
index.php
(Hab nur die revelanten Teile des Skriptes kopiert).
Danke schonmal im Vorraus,
Philip
hab ein Skript geschrieben damit ich Suchmaschienenfreundliche Urls hat (z.B.:http://www.example.de/Tutorials/Php/Einführung.html).
Nur funktioniert es nicht, wenn eine Seite eingegeben wird, die nicht existiert (404).
Vielleicht findet jemand den Fehler oder kennt ein besseres Sktipt.
Funktionsweise:
Es wird überprüft ob es die Angefordete Seite gibt (wird in config.inc.php Deklariert). Falls es diese gibt wird die Geladen, ansonsten wird 404.php geladen. Sollte es $_GET nicht geben wird die Startseite geladen.
PS: Arbeite mit Templateengine Smarty und xammp (http://www.apachefriends.org/de/xampp-windows.html)
.htaccess Datei
Code:
RewriteEngine On
RewriteRule ^(.*).html$ index.php?page=$1
config.inc.php
PHP:
$sitename = array(
'login' => 'login.php',
'registrieren' => 'register.php',
'impressum' => 'static/impressum.php',
'profile' => 'profil.php',
'tutorial' => 'tutorial.php',
'logout' => 'logout.php',
'404' => '404.php'
);
index.php
PHP:
<?php
// Alle Fehlermeldungen anzeigen (außer E_STRICT)
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('html_errors', 1);
//config datei laden
require_once("include/config.inc.php");
//script für die seitenzuweisung
if(isset($_GET['page'])) {
$tmp = explode("/",$_GET['page']);
$site = $tmp[0];
if($sitename[$site]!=""){
require_once($sitename[$site]);
} else {
require_once($sitename['404']);
}
} else {
$smarty->assign("title","Startseite");
$smarty->assign("content","Willkommen auf meiner HP! <a href=\"http://localhost/registrieren.html\">Home</a>");
$smarty->display("index.tpl");
}
?>
(Hab nur die revelanten Teile des Skriptes kopiert).
Danke schonmal im Vorraus,
Philip