Original AdvancedMod Rewrite 4.6.15

mR_brown
Beiträge: 27
Registriert: Sa 3. Dez 2005, 12:15
Wohnort: H/MD
Kontaktdaten:

Beitrag von mR_brown »

hi, die 4.6.8 läuft soweit ohne probleme bei mir, jedoch wird nur auf ordnernamen umgeschrieben nicht auf html, wo muss ich eine änderung machen um dies umzustellen?
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

im navigationsmodul
mR_brown
Beiträge: 27
Registriert: Sa 3. Dez 2005, 12:15
Wohnort: H/MD
Kontaktdaten:

Beitrag von mR_brown »

sorry :?: keine ahnung wo/wie

nutze: geteilte Hauptnavigation 4.6.2 BETA !
http://contenido.org/forum/viewtopic.ph ... te&start=0

danke.
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

such mal im forum - mvf hat meines wissens die navigation mal dahingehend umgeschrieben. um modulumprogrammierungen kümmere ich mich nicht ;)

damit auch die .html in der navigation erscheinen muss im link der front_content.php der parameter idart bzw idartlang mit übergeben werden
mR_brown
Beiträge: 27
Registriert: Sa 3. Dez 2005, 12:15
Wohnort: H/MD
Kontaktdaten:

Beitrag von mR_brown »

komisch, meines erachtens und überfliegen des quelltextes des moduls wird das gemacht.
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

mvf hat es wie gesagt hier gemacht:
http://contenido.org/forum/viewtopic.php?p=67794#67794
und die entgültige lösung gibt es eine seite drauf was an mvf script zu fixen ist.
mR_brown
Beiträge: 27
Registriert: Sa 3. Dez 2005, 12:15
Wohnort: H/MD
Kontaktdaten:

Beitrag von mR_brown »

hi stese,
den thread hatte ich in der zwischenzeit nochmals gelesen und auch nochmals ins modul ersetzt. doch was passiert jetzt > es funktioniert.

ABER: wie bekomme ich aus der url noch die subkategorie-bezeichnung raus
zu so:

www.mydomain.de/cms/kategorie/artikelname.html


trotzdem danke der hilfestellung.
mR_brown
Beiträge: 27
Registriert: Sa 3. Dez 2005, 12:15
Wohnort: H/MD
Kontaktdaten:

Beitrag von mR_brown »

kann mir keiner eine information geben? finde die entsprechende zeile nicht, weder im nav-modul noch im modrewrite z.b. htaccess

wo kann ich die erzeugung der subkategorie ordnernamen herausnehmen … danke.
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

gar nicht, weil das technisch nicht möglich ist wieder auf die korrekte idcat zurückzukommen - wenn du das willst, musst du was eigenes ohne diese engine basteln, das heisst, deine module umzuschreiben
steff
Beiträge: 31
Registriert: Mo 28. Okt 2002, 12:56
Wohnort: Kölle
Kontaktdaten:

Problem:mehrere Domains und mehrere Mandanten mit ModRewrite

Beitrag von steff »

Nach so langer Contenidoabstinenz erstmal ein Hallo an alle. :D

Ich habe das Advanced ModRewrite Bundle 4.6.8 auf einem Hosteurope Webpack aufgesetzt und möchte 2 Mandanten unter je einer eigenen Domain laufen lassen. Ich bin kläglich gescheitert, weil ich nicht wirklich Ahnung in Apachekonfigurationsdingen habe... :oops:

Mein Problem ist, daß nur die 1. RewriteCond (mit Domain1 und Mandant1) meiner .htaccess greift und tadelos funktioniert, die 2. RewriteCond (mit Domain2 und Mandant2) aber völlig ignoriert wird. Stattdessen wird der Content von Mandant1 angezeigt. Ich bin ratlos.

Verschiedene Varianten hier aus dem Forum habe ich leider vergeblich ausprobiert: eigene .htaccess in den jeweiligen Mandantenverzeichnissen haben mich nicht weitergebracht, div. Gebastel an den Pfaden auch nicht.

Ohne Modrewrite funktionieren beide Mandanten.

Derzeitige Konfiguration:
config.php beider Mandanten enthalten die Modrewritekonfiguration:
$cfg['mod_rewrite']['rootdir'] = '/';

Hierhin zeigen auch beide Domains und dorthin habe ich auch folgende .htaccess geschmissen:

Code: Alles auswählen

<IfModule mod_rewrite.c>
RewriteEngine on

# achtung bitte basisverzeichnis anpassen!
RewriteBase /
#RewriteRule ^usage/.*$ - [L]

RewriteCond %{HTTP_HOST} ^www\.domain1\.de$ [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ mandant1/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
[...]
RewriteRule ^$ mandant1/front_content.php [QSA,L]

RewriteCond %{HTTP_HOST} ^www\.domain2\.de$ [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ mandant2/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
[...]
RewriteRule ^$ mandant2/front_content.php [QSA,L]
</IfModule>


Hilfe braucht Euer
steff
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

falsches vorgehen.

die domains bitte ins jeweilige mandantenverzeichnis pointen lassen. (achtung dazu musst du auch den mandatenpfad im backend anpassen, weil ja das /cms entfällt, da du ja direkt reinspringst).
wenn beide mandanten unterschiedliche einstellungen (zwecks sprache etc) benötigen, sollte man die modrewirte konfigurationen aus der contenido/includes/config.php jeweils in die cms/config.php bzw mandanten/config.php werfen.

die .htaccess wird jeweils in die mandantenverzeichnisse gelegt und die rewrite base auskommentiert (die brauchen wir ja nicht, da sich die front_content.php im gleichen verzeichnis wie die .htaccess befindet).

um sich danach ins contenido einloggen zu könen erstellst du eine subdomain oder lässt eine weitere domain einfach aufs contenido verzeichnis pointen. so ist alles schön getrennt.
steff
Beiträge: 31
Registriert: Mo 28. Okt 2002, 12:56
Wohnort: Kölle
Kontaktdaten:

Beitrag von steff »

Danke für Deine Antwort stese.

Das hatte ich schon probiert, allerdings ohne Erfolg. Wenn ich die Domain2 direkt auf Mandant2 zeigen lasse, im Backend als Webadresse Domain2 eintrage und Mandant2/config.php mit $cfg['mod_rewrite']['rootdir'] = '/'; nebst Rest befülle, klappts nicht.

Sauber funktioniert eigendlich nur: beide Domains auf / pointen, .htaccess wie von Dir beschrieben in die jeweiligen Mandantenverzeichnisse, Pfade entsprechend setzen. Leider komme ich beim direkten Aufrufen der Domains so nicht an die Mandanten, sondern nur durch Anhängen des jeweiligen Mandantenverzeichnisses. Dieses bleibt dann auch sichtbar, was ich eigendlich nicht möchte.

Was allerdings ebenfalls fast funktioniert ist: Domain2 auf / zeigen lassen, dorthin eine .htaccess mit

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^www\.domain2\.de$ [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ mandant2/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
[...]
RewriteRule ^$ mandant2/front_content.php [QSA,L] 
also ohne condition für Mandant1

Aber eigentlich funktioniert die o.g. condition auch wieder nicht, weil ich bei Aufruf von Domain1 auf dem conten von Domain2 lande.

Vieleicht ist mein Problem ja auch ein providerspezifisches, keine Ahnung.
Ich freue mich jedenfalls weiterhin über jeden Hinweis von Euch!
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

solltest du den firefox als browser haben musst du nach solchen änderungen immer den browser komplett schließen bzw über die webdeveloper toolbar alle sessioninformationen (sessions, cookies dieser domain) etc rauslöschen. sonst ist dein ursprünglicher pfad noch mit drin.

das problem kann ich auf jeden fall nicht nachvollziehen, denn bei mir funktioniert es
steff
Beiträge: 31
Registriert: Mo 28. Okt 2002, 12:56
Wohnort: Kölle
Kontaktdaten:

Gelöst:mehrere Domains / mehrere Mandanten mit ModRewrite

Beitrag von steff »

Jetzt klappts endlich

1) Alle Domains zeigen auf /
2) config.php in den Mandantenverzeichnissen zeigen auf / also: $cfg['mod_rewrite']['rootdir'] = '/';
3) In den Mandantenverzeichnissen liegen keine .htaccess, nur in /
4) vor jede Rule die entsprechende Condition immer wieder erneut einfügen

So sieht die .htaccess dann aus:

Code: Alles auswählen

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.domain1\.de$ [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ mandant1/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
[...]
RewriteCond %{HTTP_HOST} ^www\.domain1\.de$ [NC]
RewriteRule ^$ mandant1/front_content.php [QSA,L]

RewriteCond %{HTTP_HOST} ^www\.domain2\.de$ [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ mandant2/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
[...]
RewriteCond %{HTTP_HOST} ^www\.domain2\.de$ [NC]
RewriteRule ^$ mandant2/front_content.php [QSA,L]
</IfModule>
steff
Beiträge: 31
Registriert: Mo 28. Okt 2002, 12:56
Wohnort: Kölle
Kontaktdaten:

Beitrag von steff »

Kleiner Nachtrag mit einer viel besseren Lösung als in meinem vorangegangenen posting

1) Alle Domains zeigen auf /
2) Neu: die Mandatenverzeichnisse werden als Domain formuliert, also das Verzeichnis für Mandant1,das per www.domain1.de ansprechbar sein soll heisst dann /www.domain1.de usw.
3) config.php in den Mandantenverzeichnissen zeigen auf / also: $cfg['mod_rewrite']['rootdir'] = '/';
4) In den Mandantenverzeichnissen liegen keine .htaccess, nur in /
5) Wichtig: Im Backend ist in den Mandanteneinstellungen als Webadresse http://www.domain1.de/www.domain1.de/ einzutragen, sonst stimmen die Pfade zu den Uploads (z.B. Bildern) bei der Bearbeitung im Backend nicht.

So sieht die .htaccess in / dann aus:

Code: Alles auswählen

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8&artname=$9 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&parts[]=$8 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7&artname=$8 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&parts[]=$7 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6&artname=$7 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&parts[]=$6 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5&artname=$6 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&parts[]=$5 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4&artname=$5 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&parts[]=$4 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3&artname=$4 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&parts[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2&artname=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1&parts[]=$2 [QSA,L]
RewriteRule ^([^/]+)/(.*).html$ %{HTTP_HOST}/front_content.php?parts[]=$1&artname=$2 [QSA,L]
RewriteRule ^([^/]+)/$ %{HTTP_HOST}/front_content.php?parts[]=$1 [QSA,L]
RewriteRule ^(.*).html$ %{HTTP_HOST}/front_content.php?artname=$1 [QSA,L]
RewriteRule ^$ %{HTTP_HOST}/front_content.php [QSA,L]
</IfModule>
Gesperrt