wieder mod_rewrite

Kalito

Erfahrenes Mitglied
hallo, hab die Suchfunkton genutzt, aber nichts rechtes gefunden. Auch auf modrewrite.de hab ich versucht die Beispiele nachzubauen, aber leider funktioniert das nicht so recht.

ich habe folgende index.php:

PHP:
<?php
    if(isset($_GET['site'])){
        switch($_GET['site']){
                case 1: $site = 'page/main.php'; break;
                case 2: $site = 'konfigurator/tuer.php'; break;
                case 3: $site = 'page/kontakt.php';break;
        }
    }
?>
<html>
    <?php
          include ($site); 
     ?>
</html>

Wenn ich jetzt die Seite so aufrufe oder im Menü klicke, dann wir die meineURL/index.php?site=zahl aufgerufen una alles funktioniert.

Nun möchte ich aber anstatt .../index.php?site=2 .../konfigurator.html

aber folgendes mod_rewrtite greift leider nicht :(
Code:
RewriteEngine on
RewriteRule ^konfigurator.html$ index.php?site=$2

Hier wird die get-variabel nicht mit übergeben und ich bekomme einen include-Fehler

Code:
RewriteEngine on
RewriteRule ^konfigurator([0-9]+).html$ index.php?site=$2

kommt der Fehlercode 404


Dann noch eine weitere Frage:

Das mod-rewrite greift doch nur, wenn ich die url eingebe oder?

wie schaffe ich das, wenn ich auf einen link klicke, der an eine .../index.php?site=3 weiterleitet, das in der url aber anstatt in dieses kryptische zeug ../kontakt.html steht?

Danke und Gruß
 
In dem du den Link entweder mit Javascript umschreibst oder indem du in der kontakt.html auf die index.php?site=3 leitest.
 
häh?

wenn ich dich richtig verstehe, soll ich die Kontakt.html aif die index.php?site=3 weiterleiten. Das mach ich doch mit dem mod_rewrite oder? oder meinst du, das ich das gleich so in den link schreiben soll?
 
Vielleicht habe ich dich auch falsch verstanden: du willst, dass man auf einen Link klickt, welche in etwa wie folgt aussieht:
HTML:
<a href="kontakt.html>Kontakt</a>
Und darauf hin soll er die Seite kontakt.html in der Adressleiste anzeigen. Aber da es die nicht gibt, ist das eigentlich die index.php?site=3?

Wäre dass, das, was du willst, dann wäre dein einziger Fehler, dass du per GET eine Variable übergibst, die nie definiert wird.
Code:
RewriteEngine on
RewriteRule ^konfigurator.html$ index.php?site=2
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück