universelle rewrite rule für CPO4? Hat das jemand?

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

universelle rewrite rule für CPO4? Hat das jemand?

Beitrag von Mr. Magpie »

Ist es so einfach oder macht das keiner?

Ich möchte alle Aufrufe der Muster

Code: Alles auswählen

http://www.domain.tld/de/index.php?rubric=Home_de&
bzw.

Code: Alles auswählen

http://www.domain.tld/en/index.php?rubric=The+Programme&
mit einer Rewrite-Regel umschreiben zu

Code: Alles auswählen

http://www.domain.tld/de/Home_de/index.html
bzw.

Code: Alles auswählen

http://www.domain.tld/en/The+Programme/index.html
Noch ein paar Randbedingungen: Webhoster ist 1&1, Conpresso 4.0.5a, Testversion von mod_menu 4.0 (v. MarkusR)
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Hab' jetzt einfach 'mal auf meinem Testrechner herumprobiert und kam zu folgender rewrite-Regel für die Rubriken:

Code: Alles auswählen

RewriteEngine on
RewriteRule   ^([^_].+)/(.+)\.html$ /$1/index.php?rubric=$2
Die erste Klammer ([^_].+) wird also durch das sprachspezifische Navigationselement ($1) ersetzt, bei mir "de" oder "en", wenn die Zeichenfolge nicht mit einem Unterstrich beginnt, die zweite Klammer (.+) wird ersetzt durch die Rubrik ($2).
Die etwas kompliziert wirkende erste Klammer ist nötig geworden, da Conpresso beim Speichern und Freigeben geänderter Artikel Probleme hatte (keine Artikel mehr in der Rubrik gefunden, Änderungen nicht gespeichert).

3 Probleme ergeben sich aber (bisher :wink:) daraus:

1. Wenn $2 einen Slash enthält, gibt's einen Fehler. Auch, wenn dieser als %2F codiert ist. Ja ich weiß, es ist blöd, einen Slash im Rubriknamen zu verwenden, aber so sind halt die Leut'!
2. mod_menu 4.0 beta 3 (hallo MarkusR: du erinnerst dich an mich, Stichwort 'Morbus multilingualis' :D ) muss ich irgendwie anpassen, so dass die von diesem Modul erzeugten Links mit den Rewrites korrespondieren.
3. Wie muss die Rewrite-Rule für die Detail-Seiten (Artikelseite) aussehen? Mein Versuch mit

Code: Alles auswählen

RewriteRule   ^(.+)/(.+)_(.+)\.html$ /$1/detail.php?nr=$2&rubric=$3
, um einen URL nach dem Muster

Code: Alles auswählen

http://www.domain.tld/de/123_Rubrikname.html
zu erzeugen, funktionierte nämlich leider nicht.
Noch lieber wäre mir allerdings ein URL nach dem Muster

Code: Alles auswählen

http://www.domain.tld/de/Rubrikname/123.html
, aber das geht wohl gar nicht, müssten doch $2 und $3 in umgekehrter Reihenfolge verwendet werden.
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Habe 2. aus meinem letzten Posting inzwischen gelöst - aber das scheint eh niemanden zu interessieren.
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 720
Registriert: 22.02.2006 22:00
Wohnort: Berlin
Hat sich bedankt: 219 Mal
Danksagung erhalten: 27 Mal
Kontaktdaten:

kein interesse?!?

Beitrag von hscha »

Hallo, Mr. Magpie :)

Von Null Interesse kann keine Rede sein. Ich lese hier interessiert mit, weiß aber noch nicht, ob ich's gebrauchen kann oder will...

Also, nicht verdrießen lassen!

Grüße von
HScha
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Freut mich, dass das Thema doch auf Interesse stößt :P
Ich habe die Datei navigation.php - ich habe von MarkusR eine Vorabversion zu Testzwecken erhalten - in den Zeilen 109 und 184 von

Code: Alles auswählen

if ($activeModules['Menu']['rubric_link'] == 'name') $nav_link = "../".$nav_rubrik_directory[$i]."/index.php?rubric=".urlencode($nav_rubrik[$i]);
zu

Code: Alles auswählen

if ($activeModules['Menu']['rubric_link'] == 'name') $nav_link = "../".$nav_rubrik_directory[$i]."/".urlencode($nav_rubrik[$i]).".html";
geändert.
Den ReWrite der Detailseiten habe ich nicht weiter verfolgt. Erstens gibt es in diesem Projekt gar keine :? und zweitens genügt es mir vollauf, wenn Google die Rubrik-Seiten mit Genuss frisst. Die anderen Seiten sind für Google ja auch indizierbar, nur eben nicht so leicht bekömmlich.
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

mod_rewrite

Beitrag von flofloflo »

Die rewrite rule funktioniert bei mir gut.
Wir kann ich Conpresso anpassen, dass auch das menü so ausgegeben wird?
Ich verwende kein Menü Modul, nur die normale Conpresso Menü-Ausgabe Funktion
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Hallo,

schau dir mal die _include/printnavigation.inc.php an, besonders die Stellen, wo $link Werte zugewiesen bekommt. An diesen Stellen kannst du dir die Linkausgabe anpassen.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von flofloflo »

danke, ja klar..
hmm, theoretisch hab ich mir das angeschaut, aber praktisch funktioniert auch die normale rewrite rule nicht richtig.

hat jemand eine angepasste rul ean das neuste conpresso mal zum laufen gebracht?
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7369
Registriert: 01.01.1970 01:00
Hat sich bedankt: 112 Mal
Danksagung erhalten: 936 Mal
Kontaktdaten:

Re: mod_rewrite

Beitrag von MarkusR »

flofloflo hat geschrieben:Die rewrite rule funktioniert bei mir gut.
flofloflo hat geschrieben:aber praktisch funktioniert auch die normale rewrite rule nicht richtig
das wird spannend...

flofloflo hat geschrieben:hat jemand eine angepasste rul ean das neuste conpresso mal zum laufen gebracht?
Vermutlich nicht und Du hast die Chance der Erste zu werden...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von flofloflo »

was willst du damit erreichen?
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7369
Registriert: 01.01.1970 01:00
Hat sich bedankt: 112 Mal
Danksagung erhalten: 936 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ich will in dieser Fragestellung gar nichts erreichen, andere schon.

Und manchmal steigt mit der Anzahl der geschriebenen Wörter bei der wortreichen Umschreibung der messerscharfen und pointierten Feststellung "Funktioniert nicht" die Wahrscheinlichkeit eine Antwort zu erhalten, die man nicht mit einer Frage kontern muß.

Ich selbst benutze übrigens folgende rewrite rule

Code: Alles auswählen

RewriteEngine on
RewriteRule ^(.*)/(.*).htm$ _rubric/index.php?rubric=$1_$2
was aber eine ganz spezielle Namensvergabe bei den Rubriken erfordert.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von flofloflo »

Zuerst mal hat alles, was ich hier poste einen Sinn und ein Begründung, außerdem bin ich kein Anfänger, der etwas rumprobiert

Ich meine damit, es kann sich nicht jeder mit allem auskennen und beschäftigen. Daher sah es anfangs so aus, als würde die rule funktionieren, später habe ich aber festgestellt das dem eben nicht so ist.

Da in meinem Fall leider nur ein 404 Fehler kommt, ist es schwer festzustellen warum die Regel nicht funktioniert, und was sie bewirkt, wo der genaue Fehler liegt.

Ich teste morgen mal deine Rule, die auch wie die andere Rule augenscheinlich logisch ist und funktionieren müsste
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7369
Registriert: 01.01.1970 01:00
Hat sich bedankt: 112 Mal
Danksagung erhalten: 936 Mal
Kontaktdaten:

Beitrag von MarkusR »

Du solltest das Flag [R] benutzen, wenn Du nicht nur eine 404 erhalten möchtest sondern auch das Ergebnis des Rewrite in der Adresszeile sehen willst. Das könnte helfen...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 01:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

ich habe meine rewrite-Rules sowohl mit printnavigation() als auch mit mod_menu am laufen, sag' uns doch bitte

1. mit was du arbeiten möchtest

2. welche URL soll in die Conpresso-typische php-URLs umgeschrieben werden?
Benutzeravatar
Eichi
ConPresso-Checker
Beiträge: 133
Registriert: 17.08.2005 13:14
Hat sich bedankt: 24 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Beitrag von Eichi »

Wäre es auch möglich den Titel vom Artikel in die URL einzubauen?

Bspw.: http://www.pixelleben.de/posting/titel_ ... ikels.html
(posting = detail.php)
pixel&leben - Er fand einen neuen Kunstbegriff - damals, als er Kunst begriff.
Antworten