Seite 1 von 1

probleme mit $2

Verfasst: 25.09.2007 17:53
von dark
hallo leute,

die suchfunktion dieses forums funktioniert bei mir irgendwie nicht!!!
selbst die suche nach: RewriteRule bringt kein ergebnis????



ich hab folgendes problem:

aktuell:
seite.php4?select=Abc1
dazu:

RewriteEngine On
RewriteBase /

RewriteRule seite_([a-zA-z0-9]+).html$ seite.php4?select=$1 [QSA,L]
...funktioniert!
(query['select'] = Abc1)


aber:
seite.php4?select=Abc1&name=EFg3

mit der erweiterung der .htaccess:
RewriteRule seite_([a-zA-z0-9]+)._([a-zA-z0-9]+).html$ seite.php4?select=$1&name=$2 [QSA,L]
verschwindet der 2.query (name) und dessen wert wird an den 1.query angehängt
(query['select'] = Abc1_EFg3)
fatale auswirkung ;)

was mache ich falsch?
hilfe wäre cool...

...dark

Verfasst: 29.09.2007 23:51
von Erik
Wie lautet denn die eigentliche Anfrage? seite_ABc1_EFg3.html?

die frage lautet:

Verfasst: 30.09.2007 02:17
von dark
warum verschwindet der 2.query (name = EFg3)

Verfasst: 30.09.2007 11:36
von Erik
Wie lautet die URL die umzuschreiben ist?

beispiel:

Verfasst: 30.09.2007 12:15
von dark
die URL lautet:
seite.php4?select=Katzen&name=Mompelmann


und werden soll daraus:
seite_Katzen_Mompelmann.html

vielen dank für dein interesse...
...dark

Verfasst: 30.09.2007 12:30
von Erik
Dann probier mal

Code: Alles auswählen

RewriteRule seite_([a-zA-z0-9]+)_([a-zA-z0-9]+)\.html$ seite.php4?select=$1&name=$2 [L]


Der Punkt ist Metazeichen und muß escaped werden...

Ciao

lösung

Verfasst: 30.09.2007 13:27
von dark
dein code hat leider auch nicht funktioniert :(


ich verwende nun als 2.separator einen bindestrich (keinen unterstrich)

RewriteRule ^gnadenhof_bewohner_([a-zA-z0-9]+)-([a-zA-z0-9]+)\.html$ gnadenhof_bewohner.php4?select=$1&name=$2 [QSA,L]

....das klappt komischerweise...
vielen dank für deine mühe :)

...dark

Verfasst: 30.09.2007 14:16
von Erik
Ja, seltsam. Der Unterstrich sollte eigentlich auch funktionieren, zumindest laut http://www.regexlab.com/en/regref.htm
'Letters, numbers, the underline, and punctuations with no special definition are "common characters".'

Vielleicht weiß einer der Experten hier ja mehr...

danke

Verfasst: 30.09.2007 15:13
von dark
...ja, is wohl ein seltsames problem...

wenigstems läuft es jetzt...und unterstrich, oder bindestrich ist mir nicht wichtig...
hauptsache die suchmaschinen kommen damit klar ;)

nochmals danke!!

lg
--
dark

Verfasst: 30.09.2007 16:52
von Erik

sehr seltsam...

Verfasst: 30.09.2007 17:32
von dark
hab folgendes probiert:

----------------------------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} /t([a-zA-z0-9]+),([a-zA-z0-9]+)-(.*).html
RewriteRule (.*) /gnadenhof_bewohner.php4?select=%1&name=%2 [L,QSA]

test: gnadenhof_bewohner,Hunde-Benni.html
Error 404 - Not found
----------------------------------------------------------------------------


----------------------------------------------------------------------------
RewriteCond %{gnadenhof_bewohner} /t([a-zA-z0-9]+),([a-zA-z0-9]+)-(.*).html
RewriteRule (.*) /gnadenhof_bewohner.php4?select=%1&name=%2 [L,QSA]

test: gnadenhof_bewohner,Hunde-Benni.html
Error 404 - Not found
----------------------------------------------------------------------------

----------------------------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} /t([a-zA-z0-9]+)-([a-zA-z0-9]+)-(.*).html
RewriteRule (.*) /gnadenhof_bewohner.php4?select=%1&name=%2 [L,QSA]

test: gnadenhof_bewohner-Hunde-Benni.html
Error 404 - Not found
----------------------------------------------------------------------------

....verwende nun wieder:

RewriteEngine On
RewriteBase /

RewriteRule ^gnadenhof_bewohner_([a-zA-z0-9]+)\.html$ gnadenhof_bewohner.php4?select=$1 [QSA,L]
RewriteRule ^gnadenhof_bewohner_([a-zA-z0-9]+)-([a-zA-z0-9]+)\.html$ gnadenhof_bewohner.php4?select=$1&name=$2 [QSA,L]
RewriteRule ^(.*).html$ $1.php4

test: gnadenhof_bewohner_Hunde-Benni.html
funktioniert :)


oder hat jemand eine bessere idee??


...dark