[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • .htaccess Rewrite ohne ID
Seite 1 von 1

.htaccess Rewrite ohne ID

Verfasst: 20. Jul 2016, 13:10
von _DSP_
Hallo,

ich versuche mittels .htaccess URLs umzuschreiben, da ich da nicht so fit bin, habe ich ein paar Probleme. Das Ganze hat nichts mit Redaxo zu tun.

Jedenfalls:

Eine URL soll umgeschrieben werden von

target.php?id=123combi=4
in z.B.
begriff/ausdruck.html

Für die erste id gibt es eine Tabelle mit hinterlegten Begriffen. Entsprechend soll aus der DB geholt werden, welcher Begriff hinter der ID X steht und dann der entsprechende Begriff in der URL auftauchen. Das gleiche gilt für die zweite ID.

In den URLs sollen keine IDs auftauchen, sondern nur die jeweiligen Begriffe.
Wie kann ich sowas umbiegen?

Bisher bin ich soweit, aber hier kommt eben nur die Kombination der beiden IDs raus
z.B.: /1234/4.html

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/(.*).html$ /target.php?id=$1&combi=$2 [L]
Wäre super, wenn mir da jemand auf die Sprünge helfen könnte?

LG, Daniel

Re: .htaccess Rewrite ohne ID

Verfasst: 20. Jul 2016, 16:11
von anita
hallo Daniel,

so ganz versteh ich das nicht. Wenn Du Deine URLs erzeugst kannst Du doch die Begriffe hineinschreiben; warum der Umweg über die IDs?

Re: .htaccess Rewrite ohne ID

Verfasst: 20. Jul 2016, 16:44
von _DSP_
Hi Anita,

ja, mit den URLs selbst kann ich machen was ich will.
Aber woher weiss der Server, dass "begriff/ausdruck" gleichbedeutend mit target.php?id=1&id2=5 ist, wobei an entsprechender Stelle in der Datenbank für id=1 in der DB "begriff" bzw. id2=5 "ausdruck" steht?

Re: .htaccess Rewrite ohne ID

Verfasst: 20. Jul 2016, 20:06
von Thomas.Blum
Hej,

genau das macht dieses AddOn
https://github.com/tbaddade/redaxo_url


vg Thomas

Re: .htaccess Rewrite ohne ID

Verfasst: 21. Jul 2016, 00:37
von _DSP_
Hey Thomas, danke für die Antwort. Ja, wenn es um Redaxo geht, dann kenne ich das. :D Leider geht es nicht um Redaxo, sondern "von Hand". :?: :?:

Re: .htaccess Rewrite ohne ID

Verfasst: 21. Jul 2016, 08:11
von Thomas.Blum
Dann mache es am einfachsten wie das Addon.

Erstelle dir eine pathlist wo alle Urls mit den Ids gespeichert sind.

Code: Alles auswählen

[
  1 => 'begriff/ausdruck.html', 
  2 => 'audruck/begriff.html', 
]
Bei jedem Aufrufst prüfst du die pathlist ob die Url im Browser mit einer aus dem Array übereinstimmt. Wenn ja, gebe die Id zurück.

vg Thomas

Re: .htaccess Rewrite ohne ID

Verfasst: 21. Jul 2016, 11:24
von anita
hi Daniel,

also nochmal langsam zum mitschreiben, damit ich verstehe, was Du machen willst;

Du hast 2 IDs, zu denen es in 2 DB-Tabellen Begriffe gibt; diese möchtest Du in die URL schreiben; in der aufgerufenen page brauchst Du nicht die Begriffe sondern die IDs;

hab ich das soweit richtig verstanden?

Re: .htaccess Rewrite ohne ID

Verfasst: 21. Jul 2016, 14:41
von _DSP_
Hi Thomas,

danke für die Antwort.
Das habe ich nun gemacht.

Jetzt habe ich quasi für jede mögliche sprechende URL eine eindeutige ID, auf die ich beim jeweiligen Seitenaufruf zurückgreifen kann. Aber wie bekomme ich das jetzt ordentlich mit der URL / bzw .htaccess verknüpft?

LG,

Daniel

Re: .htaccess Rewrite ohne ID

Verfasst: 21. Jul 2016, 14:49
von _DSP_
anita hat geschrieben:hi Daniel,

also nochmal langsam zum mitschreiben, damit ich verstehe, was Du machen willst;

Du hast 2 IDs, zu denen es in 2 DB-Tabellen Begriffe gibt; diese möchtest Du in die URL schreiben; in der aufgerufenen page brauchst Du nicht die Begriffe sondern die IDs;

hab ich das soweit richtig verstanden?

Hi Anita,

ich habe folgende Situation:

Ich habe eine DB, in der es zwei Felder für Begriffe gibt. Jetzt werden jeweils diese Begriffe miteinander kombiniert in Form von:

begriff1_1 x begriff2_1
begriff1_1 x begriff2_2
begriff1_1 x begriff2_3
...
begriff1_2 x begriffn_m
...
begriff2_1 x begriffn_m
...
begriffn_m x begriffn_m

das wird einfach nur so gemacht:

target.php?idEins=1&idZwei=2

und aus dieser URL soll entsprechend domain.tld/BegriffZuIdEins/BegriffZuIdZwei/ werden :D Und das ganze eben ohne IDs im umgeschriebenen Ergebnis.

Puhh, komplizierte Beschreibung. Hoffentlich, ich habs irgendwie verständlich machen können? :D

LG,

Daniel

Re: .htaccess Rewrite ohne ID

Verfasst: 22. Jul 2016, 11:40
von anita
hi Daniel,

wie sieht Deine DB-Struktur aus, stehen die beiden Begriffe in einem Datensatz?
target.php?idEins=1&idZwei=2
so solltest Du die URL nicht zusammensetzen, denn so soll sie ja nicht aussehen; Du könntest mit Deinen IDs die Begriffe aus der DB holen und die URL damit zusammensetzen;

brauchst Du auf der target.php die Begriffe oder die IDs? Ich verstehe den Sinn des ganzen noch nicht wirklich.

Wenn Du willst, schick mir Deine DB-Struktur und den relevanten code per e-mail; ich könnte das bestimmt hinkriegen, vielleicht ist ein anderer Lösungsansatz praktikabler.

Bis jetzt sieht es für mich so aus, als ob Du die IDs in der target.php benötigst, aber die URL soll sprechend sein mittels der Begriffe.