.htaccess ! Variablen übernehmen?

Status
Nicht offen für weitere Antworten.

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Ich habe mit .htaccess die "rewrite engine" genutzt.

Sprich...


anstatt: show=XXX&do=XXX

so: show,dies,das.htm

Ich denke die Gurus wissen was gemeint ist. :)
Nun mein Problem....

Wie kann ich, wenn ich jetzt z.b. die url habe: http://www.domain.de/show,kategorie,5.htm

Wie kann ich auf der passenden "ausgabe-seite" durch die ID "5" den Wert auslesen?
Also mir geht es darum wie ich an den Wert "5" aus der URL komme. :D

danke
 
Meistens wird der URL serverintern in eine für PHP verwertbare Form umgeschrieben. In deinem Fall wäre es beispielsweise ?show=kategorie&id=5. Dies könnte mit folgender Regel eingerichtet werden:
Code:
RewriteEngine on
RewriteRule ^show,([a-z]+),([0-9]+).html?$ ?show=$1&id=$2
 
Also, die Seite wird richtig angezeigt, was wohl heißt, dass es richtig ist.

Hier mein code aus der htaccess

Code:
RewriteCond %{REQUEST_URI} ^/show,([a-zA-Z0-9]*),([a-zA-Z0-9]*),([0-9]*).htm*

RewriteRule ^(.*) /?show=%1&do=%2cat=%3 [L]

Wie gesagt, es wird angezeigt, aber ich weis nicht wie ich die ID auslese...

danke
 
Probier mal Folgendes:
Code:
RewriteEngine	on
RewriteRule	^show,([a-zA-Z0-9]+)(?:,([a-zA-Z0-9]+))?(?:,([0-9]+))?\.html?$	?show=$1&id=$2&cat=$3
oder auch
Code:
RewriteEngine on
RewriteRule	^show,([a-zA-Z0-9]+),([a-zA-Z0-9]+),([0-9]+)\.html?$	?show=$1&id=$2&cat=$3
RewriteRule	^show,([a-zA-Z0-9]+),([a-zA-Z0-9]+)\.html?$		?show=$1&id=$2
RewriteRule	^show,([a-zA-Z0-9]+)\.html?$				?show=$1
 
Ich kanns immernoch nicht auslesen.

Muss ich kein "RewriteCond" angeben?

Normalerweise muss es doch einfach gehen..... :(



Du weisst, dass ich nur die ID auslesen will !? :D
 
Hi!

Habe es geschafft!

Code:
$get_id = $HTTP_GET_VARS[id];

damit ging es!

Oder hat es irgendwelche Nachteile, wenn ich es so mache?
Wenn ja, bitte eine Alternative :D

Danke für die Antworten!
 
Zeichenketten sollten auch als solche gekennzeichnet werden: $get_id = $HTTP_GET_VARS['id'];
 
Jopp, habs auf die schnell vergessen :)

Aber sonst richtig soweit? oder irgendwelche risiken? (kompatiblität usw...)
 
Status
Nicht offen für weitere Antworten.
Zurück