Original AdvancedMod Rewrite 4.6.23

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Beitrag von Andreas » Fr 23. Nov 2007, 15:14

Hallo zusammen.

Ich habe die Original AdvancedMod Rewrite 4.6.23 installiert.
Funktioniert auch alles wunderbar.

Ich habe dort 2 Mandanten.
Aktiviere ich nun MR funktioniert es leider nicht.
Ich habe bereits einige Anweisungen aus dem Forum befolgt.

U.a. auch die von Stese:
Kopieren Sie alle ModRewrite Einstellungen aus contenido/includes/config.php in [mandantenverzeichnis]/config.php und entfernen Sie alle ModRewrite Einstellungen aus contenido/includes/config.php

2.) Legen Sie die .htaccess ebenfalls in das Mandantenverzeichnis und entfernen Sie darin die Zeile der RewriteBase

3.) Domains direkt auf Mandantenverzeichnis zeigen lassen


Das ging gar nicht...
Gibt es eine genaue Vorgehensweise um MR für mehrere Mandanten einzusetzen. Irgendwie bin ich zu blöd dazu...

Danke im voraus
Andreas
Gruß
Andreas

wosch

Beitrag von wosch » Fr 23. Nov 2007, 15:42

Unterstützt dein Server modrewrite?
2.) Legen Sie die .htaccess ebenfalls in das Mandantenverzeichnis und entfernen Sie darin die Zeile der RewriteBase
Hier ein Textauszug aus der Installation installation_cnt4.6.15.txt:
(Vorallem das was nach ACHTUNG steht)
MOD REWRITE EINSTELLUNGEN:
=====================================================

Achtung! Standardmäßig deaktiviert!

per ftp:
- in ordner wechseln:
contenido/includes
- config.php in editor öffnen
- suche nach Section 3 Misc Settings

- Aktivieren der ModRewrite Funktionalität 1 = aktiviert, 0 = deaktiviert
/* Use advanced mod_rewrites ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use'] = 1;

- Pfad zur .htaccess Datei aus Sicht des Web-Browsers
(Standardmäßig "/", wird automatisch durch das Setup gesetzt)
/* Path to the htaccessfile with trailling slash from domain-root! */
$cfg['mod_rewrite']['rootdir'] = '/';

- Soll der Name des Hauptbaumes mit in der URL erscheinen?
(0 = ja, 1= start von erster Unterkategorie)
/* Start TreeLocation from Root Tree (set to 1) or get location from first category (set to 0) */
$cfg['mod_rewrite']['startfromroot'] = 0;

- Soll die Sprache mit in der URL erscheinen (für Mehrsprachsysteme unabdingbar)
/* is multilanguage? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_language'] = 0;

- Soll statt der Sprach ID der Sprachname in der URL erscheinen?
/* use language name in url? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_language_name'] = 0;

- Werden mehrere Mandanten in einem Verzeichnis gepflegt?
/* is multiclient in only one directory? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_client'] = 0;

- Soll der Mandantenpfad mit in der URL erscheinen (1), oder nur ID (0)
/* use client name in url? ( 1 = yes, 0 = none ) */
$cfg['mod_rewrite']['use_client_name'] = 0;

- Sollen die URLs im Browser klein geschrieben werden
/* use lowercase url? ( 1 = yes, 0 = none ) */
$cfg["mod_rewrite"]['use_lowercase_uri'] = 1;

/*
Folgende Einstellung bewirken das folgendes Aussehen der URLs:
www.domain.de/kategorie1-kategorie2.artikelname.html
Änderungen an folgenden drei Einstellungen machen ein Reset der
vorhandenen Aliase notwendig, der mit folgendem Modul vorgenommen
werden kann (Bitte nur 1x aufrufen!):
<?php
cInclude('classes','class.modrewrite.php');
ModRewrite::reset_aliases();
?>
*/
- Sollen die Kategorien und Artikel in einer html Datei geschrieben
werden, ohne Verzeichnisstruktur?
/* use categories as html file part? ( 1 = yes, 0 = none ) */
$cfg["mod_rewrite"]['use_categories_as_html_file'] = 0;

- Kategorie-Seperator (Trenner zwischen einzelnen Kategorien)
/* seperator for categories */
$cfg["mod_rewrite"]['category_seperator'] = '-';

- Kategorie-Artikel-Seperator (Trenner zwischen Kategorieabschnitt
und Artikelname)
/* seperator between category and article */
$cfg["mod_rewrite"]['article_seperator'] = '.';


- in basis ordner wechseln
- die datei _.htaccess suchen und öffnen

ACHTUNG!!!!
- zeile rewrite base anpassen! basierend vom root-verzeichnis des Webservers
RewriteBase /_cms/cms
- falls unübliche sprachen verwendet werden, die .htaccess in ALLEN rewrite rules korrekt anpassen (z.b.):
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/([^/]*)/([^/]*)/([^/]*)/(.*).html$ front_content.php?langname=$1&catnames[]=$2&catnames[]=$3&catnames[]=$4&artname=$5 [L]
- _.htaccess speichern und auf webserver übertragen
- umbennen von _.htaccess in .htaccess
(Diese Datei fehlt in der Version 4.6.23 - deswegen der Hinweis in Posting 1)

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Beitrag von Andreas » Fr 23. Nov 2007, 15:55

Danke für die schnelle Antwort.
Die Seiten liegen in einem 1&1 Paket. Habe da schon sehr viele Contenidos (auch mit MR) installiert und hatte nie Probleme. Ist jetzt allerdings das erste mal, dass ich mehrere Mandanten mit MR benötige.

Ich verstehe nicht ganz, wie ich das anpassen soll?
RewriteBase /_cms/cms

Jeweils in der htaccess des entsprechenden Mandanten?
z.B. RewriteBase /mandant1 und RewriteBase /mandant2

Oder in der htaccess im root-verzeichnis (ich dachte, die sollte bei mehreren Mandanten gelöscht werden)?

Ansonsten habe ich eigentlich alle Einstellungen gemacht.

wosch

Beitrag von wosch » Fr 23. Nov 2007, 16:13

Andreas hat geschrieben:Ich verstehe nicht ganz, wie ich das anpassen soll?
RewriteBase /_cms/cms
Es gibt hinterher 2 .htaccess Dateien, und zwar jeweils im Stamm/root-Verzeichnis des jeweiligen clienten.

Ist der erste Client root/cms/ installiert gehört eine .htaccess in das Verzeichnis cms und die Rewritebase wäre /cms

Ist der 2. Client in root/client2 wäre die Rewritebase /client2 für die zweite .htaccess in root/client2

Noch ein Nachtrag dazu:
Mit Rewritebase ist das Verzeichnis gemeint das von der Serverroot ausgehent in das Verzeichnis des jeweiligen Mandanten führt das die front_content enthält.

miertschink_st
Beiträge: 54
Registriert: Mi 19. Apr 2006, 19:00
Kontaktdaten:

Beitrag von miertschink_st » Sa 24. Nov 2007, 10:52

wosch hat geschrieben: Es gibt hinterher 2 .htaccess Dateien, und zwar jeweils im Stamm/root-Verzeichnis des jeweiligen clienten.

Ist der erste Client root/cms/ installiert gehört eine .htaccess in das Verzeichnis cms und die Rewritebase wäre /cms

Ist der 2. Client in root/client2 wäre die Rewritebase /client2 für die zweite .htaccess in root/client2

Noch ein Nachtrag dazu:
Mit Rewritebase ist das Verzeichnis gemeint das von der Serverroot ausgehent in das Verzeichnis des jeweiligen Mandanten führt das die front_content enthält.

Das kann ich so nicht bestätigen.

Ich habe auch erfolgreich zwei Mandanten in meinem AMR-System, auch mit der 4.6.23 und meine RewriteBase sieht so aus:

Code: Alles auswählen

RewriteBase /
Man kann die RewriteBase aber auch löschen hab ich festgestellt, dann klappt das auch.
Was vielleicht noch wichtig ist ist diese Zeile in der jeweiligen config.php im jeweiligen Mandantenverzeichnis:

Code: Alles auswählen

/* Path to the htaccessfile with trailling slash from domain-root! */
$cfg['mod_rewrite']['rootdir'] = '/';
Ansonsten ist mein System genauso konfiguriert wie hier schon mal beschrieben:
Domains direkt in die Mandantenverzeichnisse zeigen lassen
.htaccess Datei in die Mandanten verzeichnisse legen und Rewrite Base löschen
Alle mr-einstellungen in die config.php im Mandantenverzeichnis kopieren

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Beitrag von stefkey » Mo 26. Nov 2007, 17:21

Hallo,

nun habe ich einen Serverwechsel hinter mir und gleich die .23mr installiert.

Nun gehen die Navigationslinks nicht mehr. In der Statuszeile werden beim draufzeigen mit der Maus die richtigen Links angezeigt, also http://www.example.com/KategorieX/

aber bei Klick darauf kommt dann:

http://www.example.com/?error=1


Könnte das nun an Servereinstellungen liegen oder eher an .23MR
Muss ich jetzt tatsächlich die .15MR installieren um das rauszukriegen?


Beste Grüße,
stefkey

miertschink_st
Beiträge: 54
Registriert: Mi 19. Apr 2006, 19:00
Kontaktdaten:

Beitrag von miertschink_st » Di 27. Nov 2007, 18:16

stefkey hat geschrieben: aber bei Klick darauf kommt dann:

http://www.example.com/?error=1
Ist nur eine Vermutung, weils bei mir auch schon auftrat:
Sieh mal in der Datenbank nach und schau in der Tabelle cat_lang ob in der Spalte "startidartlang" (neben urlname) überhaupt was drin steht und nicht nur Nullen.

Wenns nur Nullen sind, dann musst du die Startartikel für jede Kategorie (wahrscheinlich per Hand) neu reinschreiben.

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Beitrag von stefkey » Di 27. Nov 2007, 18:53

es stehen zahlen drin, aber sinds die richtigen?!

Naja, ich geh davon aus weil ja bei der Migration in die .23MR nicht die IDs geändert werden...

hmmm noch eine Idee?

Danke!

Grüße,
stefkey

tono
Beiträge: 574
Registriert: Mo 25. Apr 2005, 20:51
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von tono » Di 4. Dez 2007, 22:43

ich hab ein Problem mit Zeile 1048 in front_content.php:

Code: Alles auswählen

// IE hack with wrong base href interpretation
$strAll = preg_replace ( "/([\"|\'|=])upload\/(.?|.+?)([\"|\'|>])/ie", "stripslashes('\\1${str_base_uri}upload/\\2\\3')", $strAll );
die war in 4.6.15mr noch nicht drin. Das Ergebniss dieser Zeile ist, dass alle hrefs mit relativen "upload"-Pfaden z.B. "upload/bild.jpg" zu "http://domain.tldupload/datei.jpg" werden. Ich kanns jetzt nicht nachvollziehen, bin auch kein regexp-Crack.

Mit absoluten Pfaden "/upload/bild.jpg" gibts absolut kein Problem.
Bis dann
Tono

romaro
Beiträge: 38
Registriert: Mo 21. Nov 2005, 14:33
Wohnort: Erlangen
Kontaktdaten:

category_seperator

Beitrag von romaro » Fr 7. Dez 2007, 11:13

Hallo,

so langsam verstehe ich es nicht mehr. Das Problem ist folgendes:

Version 4.6.23 mr installiert und alles läuft super (auch mr).

Wenn ich jedoch in der Konfiguration das Feld
$cfg["mod_rewrite"]['category_seperator'] = '-';
gegen
$cfg["mod_rewrite"]['category_seperator'] = '/';
austusche, gehen keine Seiten mehr mit Unterkategorien. Also Links der ersten Navigationsebene gehen wunderbar. Links zur zweiten Navigationsebene werden korrekt dargestellt, gehen aber auf die Fehlerseite.

Also:
www.meine-domain.de/kategorie.html geht
aber
www.meine-domain.de/kategorie/unterkategorie.html geht nicht mehr



Wenn ich aber in der Konfiguration den "category_seperator" / gegen - austausche, funktioniert alles wieder super:

www.meine-domain.de/kategorie-unterkategorie.html


Gibt es da eine Lösung / Erklärung dafür?

Einstellungen in der Config.php:

Code: Alles auswählen

...Vorher alles unverändert...

/* use categories as html file part? ( 1 = yes, 0 = none ) */
$cfg["mod_rewrite"]['use_categories_as_html_file'] = 1;

/* seperator for categories */
$cfg["mod_rewrite"]['category_seperator'] = '/';  /* mit - geht es wieder */

/* seperator between category and article */
$cfg["mod_rewrite"]['article_seperator'] = '/';

/* word seperator in category names */
$cfg["mod_rewrite"]['category_word_seperator'] = '_';

/* word seperator in article names */
$cfg["mod_rewrite"]['article_word_seperator'] = '-';
Danke im voraus für Tipps oder Erklärung

romaro

wosch

Re: category_seperator

Beitrag von wosch » Fr 7. Dez 2007, 11:41

romaro hat geschrieben:Danke im voraus für Tipps oder Erklärung
Ja, du machst einen Gedankenfehler.
Die Einstellung:

Code: Alles auswählen

/* use categories as html file part? ( 1 = yes, 0 = none ) */
$cfg["mod_rewrite"]['use_categories_as_html_file'] = 1;
soll ja die Kategorie als Teil des Dateinamens schreiben.
Beispiel:
Kategorie: Unser Romaro
Datei: Seine Hobbys
daraus wird, ja nach deinen Einstellungen:
unser-romaro_seine-hobbys.html

Wenn du nun als Separator das / nimmst trennst du diese Datei ab.
Der / ist das Zeichen für Unterverzeichnis.

Wenn du das willst unser-romaro/seine-hobbys.html setze einfach:

Code: Alles auswählen

/* use categories as html file part? ( 1 = yes, 0 = none ) */
$cfg["mod_rewrite"]['use_categories_as_html_file'] = 0;
dann hast du genau diese Schreibweise du du willst.

romaro
Beiträge: 38
Registriert: Mo 21. Nov 2005, 14:33
Wohnort: Erlangen
Kontaktdaten:

['use_categories_as_html_file'] = 0

Beitrag von romaro » Fr 7. Dez 2007, 12:10

Hallo wosch,

danke für schnelle Antwort.

Leider ist das nicht das Ergebnis was ich haben will.

Da, um bei Deinem Beispiel zu bleiben, unser-romaro und seine-hobbys jeweils kategorien sind erhalte ich als Ergebnis:

.../unser-romaro/seine-hobbys/

Sicherlich würde es stimmen, wenn ich einen Artikel noch dazu hätte.

Vielleicht drücke ich mich da etwas ungenau aus.

Kategorien:

Code: Alles auswählen

Hauptnavigation
  ---> unser-romaro
             ---> seine-hobbys
  ---> weitere Kategorien...
Wenn ich wie bei meiner vorherigen Einstellung den Punkt "unser-romaro" aufrufe, wurde die URL in .../unser-romaro.html ungesetzt.
Wenn ich dann den Link auf "seine-hobbys" angeklickt habe wurde .../unser-romaro/seine-hobbys.html aufgerufen und diese Seite konnte nicht gefunden werden.

Ich bin mir nicht ganz sicher, ob ich es überhaupt gehen kann, was ich will. Weil mir nicht ganz klar ist, wie dann der einzelne Artikel noch dazu soll. So wie Du es beschrieben hast, würde es funktioniern ".../unser-romaro/seine-hobbys/der-artikel.html"

Werd wohl noch weiter schauen, denke ich hab wirklich einen Denkfehler.

romaro

wosch

Re: ['use_categories_as_html_file'] = 0

Beitrag von wosch » Fr 7. Dez 2007, 12:30

romaro hat geschrieben:Sicherlich würde es stimmen, wenn ich einen Artikel noch dazu hätte.
Den Artikel bekommst du niemals angezeigt, wenn der Artikel der Startartikel der Kategorie ist.
Das liegt an der Art wie bei Contenido die URL beim Klick auf eine Kategorie aufgebaut ist.
front_content.php?idcat=xx
und idcat ist nunmal die Kategorie, dort wird dann der Startartikel aufgerufen, also kann auch keine Datei mit .html genannt werden.
Der Artikel als .html wird nur bei Artikel angezeigt die NICHT Startartkel sind, dort sieht die URL so aus:
front_content.php?idcat=xx&idart=yy
idart ist der Artikel.

Installiere die mal eine WAMPP oder XAMPP und eine "normales" Contenido- bzw. eine mr-Version (kann man ja schnell anschalten), dann wirst du die Zusammenhänge schnell sehen und verstehen.

romaro
Beiträge: 38
Registriert: Mo 21. Nov 2005, 14:33
Wohnort: Erlangen
Kontaktdaten:

mod rewrite

Beitrag von romaro » Sa 8. Dez 2007, 13:10

Tach auch.

Ja, das hab ich mir schon fast gedacht, dass ich das so wie ich es will nicht hinkriege.

Trotzdem danke für die Hilfe.

erikawiese
Beiträge: 118
Registriert: Fr 23. Feb 2007, 22:06
Kontaktdaten:

Beitrag von erikawiese » So 16. Dez 2007, 19:12

wosch hat geschrieben:
Andreas hat geschrieben:Ich verstehe nicht ganz, wie ich das anpassen soll?
RewriteBase /_cms/cms
dem kann ich mich anschliesen. Auf diese Frage gibt es 2 verschieden Antworten, die zudem von der orginal Installationsanweisung abweichen.
Ich hab dieverse Möglichkeiten durchgespielt, im Endeffekt wird mir gar nix mehr angezeigt. Heisst: ModRewrite funktioniert, die URLs werden umgewandelt aber können dann nicht aufgelösst werden.

Frage: Wo soll ich ansetzen? Welche Anleitung ist die Richtige?

Gesperrt