WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Rund um die Administration von Server und Webserver, Apache, Linux, Mailserver, FTP, SSH, MySql, Windows Server, u.v.m.


Forum » Server-Administration und Verwaltung » mod_rewrite mit mehreren Parametern » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

mod_rewrite mit mehreren Parametern
von Käptn Flint
ok, ok + statt * - wenn man weiß wie's funktioniert hast du natürlich recht.
von languitar
Ich finde es nur unnötig, dass man es erlaubt einem Paramter keine Daten zu übergeben. U.U. kann das sogar Probelme machen. Desshalb: + statt *
von Käptn Flint
jo, der Stern bedeutet aber, dass auch 0 Zeichen erlaubt sind.

Das ist ja egal. 0 Zeichen bedeutet ja das gleiche als ob ich gar keinen Parameter übergebe - dann kann ich ja direkt statisch verlinken. Mir geht es bei der ganzen Sache darum, dass ich die URLs von dynamischen Projekten suchmaschinenfreundlicher machen kann. Wenn ich also Parameter wie z.B. Kategorie, Subkategorie und ID brauche, versuche ich bei der Projektplanung nach Möglichkeit Kategorien/Bereiche mit suchmaschinenfreundlichen Zeichenketten zu besetzen:
www.domainname/123/suchmaschenwort1/suchmaschinenwort2.htm
also die Parameter nicht nur technisch sondern auch inhaltlich zu separieren.

Probier mal lieber ein +

geht bestimmt auch, aber ich hab nicht so ganz verstanden wie du das meinst
(+ statt * ?).

trotzdem danke nochmal
von languitar
jo, der Stern bedeutet aber, dass auch 0 Zeichen erlaubt sind. Probier mal lieber ein +
von Käptn Flint
Den Stern vergessen!

So geht's:
RewriteRule ^ ([a-zA-Z0-9]*) .html$ /verzeichnis/...usw.

Tausend Dank
von languitar
also wenn überhaupt geht die zweite möglichkeit, aber wo das genau scheitert, weiß ich auch nicht gerade.
von Käptn Flint
Also ich geb direkt zu, dass ich mich mit der Syntax der regulären Ausdrücke (noch) nicht auskenne, aber deswegen poste ich ja hier.

ist es das was du für Regel2 meinst:
RewriteRule ^ [a-zA-Z0-9] .html$ /verzeichnis/...usw.
alternativ hab ich dann noch den hier ausprobiert:
RewriteRule ^ ([a-zA-Z0-9]) .html$ /verzeichnis/...usw.
Hat was von try'n error! Beide Male wurde auf jeden Fall die Seite nicht gefunden
(www.domainname.de/verzeichnis/wert1.html ).

Nichts desto trotz habe ich den komischen Wert von $para1 bei der Übergabe von 2 Parametern nicht verstanden.
von languitar
.* gilt doch vorerst schon für alle Zeichen, also auc hden Slash (/). Da müsstest du schon genauere Zeichen definieren: [a-zA-Z0-9] oder sowas.
von Käptn Flint
Ich glaube das mit den Überschneidungen ist genau mein Problem:

So probier ich das aus(ich hab die .html Endung reingeschrieben weil sich sonst mein Browser immer aufhängt wenn ich nur einen Wert übergebe???):

RewriteRule ^(.*)/(.*).html$ /verzeichnis/index.php?para1=$1&para2=$2
RewriteRule ^(.*).html$ /verzeichnis/index.php?para1=$1

Erster Aufruf mit einem Parameter:
www.domainname.de/verzeichnis/wert1.html
$para1=wert1 (richtig)

Zweiter Aufruf mit zwei Parametern:
www.domainname.de/verzeichnis/wert1/wert2.html
$para1=/verzeichnis/index.php/wert2 (häh?)
$para2= nicht definiert

und hier bin ich mit meinem Latein am Ende!
von languitar
neue RewriteRules schreiben und dazupacken. Aber aufpassen, dass es keine Überschneidungen gibt!
von Käptn Flint
Hallo und ein neues mod_rewrite Problem

Die Aufruf www.domainname.de/verzeichnis/hans/123
wird durch die Regel:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /verzeichnis/
RewriteRule ^(.*)/(.*)$ /verzeichnis/index.php?para1=$1&para2=$2

umgewandelt in:
www.domainname.de/verzeichnis/index.php?para1=hans&para2=123

soweit so gut.
Wie gehe ich aber damit um wenn ich jetzt weniger oder mehr Parameter übergeben muß?

Nach oben