mod_rewrite + subfolders

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
LordAvalon
Mitglied
Beiträge: 44
Registriert: 21.02.2004 09:28

mod_rewrite + subfolders

Beitrag von LordAvalon »

Wenn ich die Datei $id2/$id1.html aufrufen möchte und damit auf index.php?id=$2&id2=$1 verweisen möchte, dann schreibe ich in meine .htaccess Datei folgendes:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^([A-Za-z0-9_]+)/([A-Za-z0-9_]+).html$ index.php?id=$2&id2=$1
Das funktioniert.Wenn ich jetzt noch einen Unterordner im Unterordner habe, müsste das ganze dann ja so aussehen:

Code: Alles auswählen

RewriteRule ^([A-Za-z0-9_]+)/([A-Za-z0-9_]+)/([A-Za-z0-9_]+).html$ index.php?id=$2&id2=$1&id3=$3
(wenn $id2/$id/$id3.html aufgerufen werden soll.)

Nur klappt es irgendwie nicht ... Seht ihr darin einen Fehler ?

In meiner index.php, hab ich an der Stelle, wo es darauf ankommt, was includet wird, folgendes stehen:

Code: Alles auswählen

<?php
$id = $_GET["id"];
$id2 = $_GET["id2"];
$id3 = $_GET["id3"];

$DEFAULT = "startseite.php";
$ERROR = "404.php";
$inc = "";

if ($id && $id2) {
  if (file_exists("$id2/$id.php")) $inc = "$id2/$id.php";
  else $inc = $ERROR;
  
} else if ($id && $id2 && $id3) {
  if (file_exists("$id2/$id/$id3.php")) $inc = "$id2/$id/$id3.php";
  else $inc = $ERROR;
  
} else if ($id) {
  if (file_exists("$id.php")) $inc = "$id.php";
  else $inc = $ERROR;

} else {
  $inc = $DEFAULT;
}

include($inc);
?>
Oder ist darin ein Fehler ?
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag von k-5 »

also mit dem .htaccess hab ich nochnix gemacht ..

aber deine if abfrage hat nen fehler ..

der mit den 3 ids wird nie angesprungen ..

die zeile muß als erstes stehen ..
LordAvalon
Mitglied
Beiträge: 44
Registriert: 21.02.2004 09:28

Beitrag von LordAvalon »

Danke. Hast recht , ich werds mal testen :)
Antworten

Zurück zu „Coding & Technik“