Wipeout
Erfahrenes Mitglied
Hallo Community,
ich habe folgendes Problem, ich habe bis dato immer meine Webseite mit http://www.meinedomain.de/index.php?seite=foo aufgerufen.
So weit so gut dafür habe ich folgendes Script in meine index.php aufgerufen.
Das klappt auch einwandfrei etc.
Jetzt wollte ich mich mal ein bisschen mit SEO und so beschäftigen damit ich meine seite dann auch aufrufen kann mit http://www.meinedomain.de/foo.
Das klappt mit obigem Script auch sehr gut. Wen ich jetzt aber etwas in mein Gästebuch eintragen möchte, dann möchte ich das er beim abschicken folgenden Link aufruft
http://www.meinedomain.de/gaestebuch/eintragen
meine ordner struktur sieht so aus
index.php
--php
-----gaestebuch
--------index.php
also ich habe im ordner gaestebuch eine index.php liegen auf die er zugreifen soll.
Jetzt habe ich mit .htaccess dank euch mir folgendes zusammen gestrickt
und schon wird keine script mehr gefunden und die css wird auch nicht mehr angewendet.
wen ich jetzt
in die .htaccess eintrage werden zumindestens die haupt scripte wieder gestartet. Aber die action wird grundlegend übersprungen.
Ein var_dump() hat ergeben das wen ich nur das modul aufrufe alles wunderbar klappt ich es steht also in $_GET['modul'] das passende Modul drin, wen ich jetzt eine action aufrufe, dann wird das modul mit index.php überschrieben aber in action steht die richtige aktion drin die aufgerufen werden soll.
Die frage ist jetzt wie kriege ich das raus.
also das in $_GET['modul'] auch wirklich das modul steht
und auch gleichzeitig in $_GET['action'] auch die aktion steht ?
Bzw muss ich was an meinem Php script ändern ****?
Ich hoffe ich habe mich verständlich ausgedrückt und Ihr könnt mir irgendwie helfen, weil solangsam verzweifel ich hier
ich habe folgendes Problem, ich habe bis dato immer meine Webseite mit http://www.meinedomain.de/index.php?seite=foo aufgerufen.
So weit so gut dafür habe ich folgendes Script in meine index.php aufgerufen.
PHP:
$error = false;
if( empty($_GET['modul']))
{
$_GET['modul'] = '/news';
}
/* elseif (empty($_GET['action']))
{
$_GET['action'] = '';
}
*/ if( strpos($_GET['modul'], '..') !== false )
{
$error = true;
}
if( !$error && ($absPath = realpath('php/'.$_GET['modul'].'/index.php')) !== false )
{
include($absPath);
} else {
test_var($absPath);
include('fehler/error.php');
}
Das klappt auch einwandfrei etc.
Jetzt wollte ich mich mal ein bisschen mit SEO und so beschäftigen damit ich meine seite dann auch aufrufen kann mit http://www.meinedomain.de/foo.
Das klappt mit obigem Script auch sehr gut. Wen ich jetzt aber etwas in mein Gästebuch eintragen möchte, dann möchte ich das er beim abschicken folgenden Link aufruft
http://www.meinedomain.de/gaestebuch/eintragen
meine ordner struktur sieht so aus
index.php
--php
-----gaestebuch
--------index.php
also ich habe im ordner gaestebuch eine index.php liegen auf die er zugreifen soll.
Jetzt habe ich mit .htaccess dank euch mir folgendes zusammen gestrickt
Code:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?modul=$1 [NC]
RewriteRule ^(.*)/(.*)$ index.php?modul=$1&action=$2 [NC]
RewriteRule ^(.*)/seite/(.*)$ index.php?modul=$1&action=$2 [NC,L]
und schon wird keine script mehr gefunden und die css wird auch nicht mehr angewendet.
wen ich jetzt
Code:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?modul=$1 [NC]
RewriteRule ^(.*)/seite/(.*)$ index.php?modul=$1&action=$2 [NC,L]
in die .htaccess eintrage werden zumindestens die haupt scripte wieder gestartet. Aber die action wird grundlegend übersprungen.
Ein var_dump() hat ergeben das wen ich nur das modul aufrufe alles wunderbar klappt ich es steht also in $_GET['modul'] das passende Modul drin, wen ich jetzt eine action aufrufe, dann wird das modul mit index.php überschrieben aber in action steht die richtige aktion drin die aufgerufen werden soll.
Die frage ist jetzt wie kriege ich das raus.
also das in $_GET['modul'] auch wirklich das modul steht
und auch gleichzeitig in $_GET['action'] auch die aktion steht ?
Bzw muss ich was an meinem Php script ändern ****?
Ich hoffe ich habe mich verständlich ausgedrückt und Ihr könnt mir irgendwie helfen, weil solangsam verzweifel ich hier