Original AdvancedMod Rewrite 4.6.15

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

Beitrag von stese » Fr 17. Feb 2006, 23:52

moment - ein 403 kann auch auf eine fehlerhafte mod rewrite unterstützung dess ervers hindeuten (genau wie ein internal server error 500)

@beide, smkiel und markus heinzer:

macht bitte einmal kurz die mitgelieferten htaccess unschädlich, indem ihr sie umbenennt.

dann legt mal bitte in das mandantenverzeichnis eine htaccess mit folgendem inhalt:

Code: Alles auswählen

DirectoryIndex front_content.php
RewriteEngine on
tritt der fehler immer noch auf? wenn ja, dann bitte die zeile mit der rewrite engine mittels # einmal auskommentieren und wieder probieren. wenn der 403 im ersten fall kommt, kann modrewrite auf dem webserver nicht korrekt initialisiert werden. wenn er auch im zweiten fall kommt, verarbeitet der server eure htaccess nicht korrekt.

@markus wegen der sprachen. die änderung an der htaccess bitte wieder rückgängig machen, da ich in der letzten version die htaccess und die front_content angepasst habe, so dass es egal ist, wie eure sprachen lauten, die htaccess funktioniert immer. die installation.txt scheint dahingehend noch nicht die aktuellste version zu sein (ich dachte eigentlich dass ich sie angepasst habe)

@smkiel
meines wissens überschreibt eine leere htaccess keine vorher getätigeten settings - die auswirkungen sind also gleich null. die abfrage <IfModule
mod_rewrite.c> fragt einfach ob bei dem server das modul mod_rewrite.c geladen wurde - wenn sie gar nicht erst geladen wurde (und mod rewrite dann so oder so nicht funktioniert) dann soll er auch gar nicht erst die anweisungen darin versuchen zu interpretieren. kann mich aber auch irren, denn ich kenne mich eigentlich nicht mit webservern an sich aus. ich kann ein bissl php, das war es eigentlich.

das mit dem fehlenden base tag solltest du wirklich hinsetzen. hast du tatsache mein aktuelles modrewrite bundle am laufen? seit contenido 4.5.x wird nämlich von contenido automatisch ein base href tag gesetzt, den du ohne im quellcode von contenido rumzuschreiben gar nicht rausbekommst.

smkiel
Beiträge: 68
Registriert: Di 15. Okt 2002, 16:42
Kontaktdaten:

Beitrag von smkiel » Sa 18. Feb 2006, 09:26

Hallo,

@stese

zur htaccess:
Mit
DirectoryIndex front_content.php
RewriteEngine on (1.Fall) bzw. # RewriteEngine on (2.Fall)

erhalte ich in beiden Fällen den Fehler:

Code: Alles auswählen

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Also liegt der zweite fall vor, der server verarbeitet meine htaccess nicht korrekt. Habe Deine Vorschläge befolgt
und habe trotzdem das gleiche Problem.
Mich macht es nur stutzig, dass das backend nicht geht. Und außerdem habe ich auf die
Mandanten keine Domain gesetzt, sondern nur einen ganz normalen Pfad liegen. Was bedeutet denn für
den normalen Pfad ohne Domain "aus sicht des webbrowsers " ? Ab dem Verzeichnis, das der Browser
überhaupt erreichen kann, also www oder htdocs? Oder ist das contenido Basedirectory gemeint?

zum fehlenden base tag:
ich benutze Deine letzte 4.6.4 mr Version. Und ich habe auch inzwischen festgestellt,
dass contenido das automatisch generiert und in den head setzt.

zu leeren htaccess:
Bezüglich der <IfModule
mod_rewrite.c> Abfrage sind wir uns einig. Das andere wollte ich gerade von Dir erfahren.
Ich habe das nur aus dem Testverhalten meiner Seite geschlossen.

@alle
Wie ist das mit einer leeren bzw. fehlerhaften htaccess?
Setzt die htaccess dann das directory und alle subdirectories per se
auf permission denied?

Danke und einen Gruß aus dem Norden, hier regnet es mal wieder.
Fahre heute nach Hamburg, hoffentlich wird es nicht so arg.
Bis morgen

Wiebke
Zuletzt geändert von smkiel am Sa 18. Feb 2006, 09:42, insgesamt 1-mal geändert.

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

Beitrag von stese » Sa 18. Feb 2006, 09:32

ok da sind wir doch schon einen großen schritt weiter. mod rewrite ist nicht korrekt konfiguriert.

der post is trumpf:
http://contenido.org/forum/viewtopic.php?p=66870#66870

symlinks werden mit hoher wahrscheinlichkeit nicht korrekt eingestellt sein - da hilft nur mail an provider senden, um symlinks korrekt zu aktivieren.

markusheinzer
Beiträge: 81
Registriert: Do 8. Sep 2005, 13:18
Wohnort: Sarajevo
Kontaktdaten:

Beitrag von markusheinzer » Sa 18. Feb 2006, 18:54

bei mir war's definitiv ein Problem des Providers, der das Modul mod_rewrite nicht richtig geladen hatte. Jetzt geht alles.
Vielen Dank stese.

smkiel
Beiträge: 68
Registriert: Di 15. Okt 2002, 16:42
Kontaktdaten:

Beitrag von smkiel » Mo 20. Feb 2006, 00:47

Hallo,
@stese

ich habe dein 4.6.4 mr-Paket jetzt bei Hosteurope installiert. Hier erhalte ich beim Vortest kein Error oder Internal error.

1.

Code: Alles auswählen

 DirectoryIndex front_content.php
    RewriteEngine on
ergibt nur die Anzeige des php-codes, z.B. der front_content.php

2.

Code: Alles auswählen

DirectoryIndex front_content.php
    # RewriteEngine on
zeigt das Frondend ordentlich an

Ich habe daraufhin, alles wie Du beschrieben hast, umgesetzt:

Nun mag ich ´s gar nicht sagen. :(
Es geht immer noch nicht.
Jetzt werden im Frontend und im Backend beidesmal der php-code der front_content.php bzw. main.php angezeigt. Ich habe beiden Ausführungsrechte gegeben.

Rührt das auch von falschen Provider-Einstellungen für mod_rewrite her?



bei der nutzung mehrerer Mandanten liegt bei mir Fall 1 vor.
daher habe ich die Lage meiner htaccess´es verändert auf:

Code: Alles auswählen

www-root/basis 

	    cms             (std-kunde1, mit der  1. htaccess  )
			      upload	(mit  1.1.htaccess f.  Kd1)	

	    egon            (kunde2, mit der  2. htaccess  )
			     upload	(mit 2.1.htaccess f.  Kd2  (hierauf pointet eine  domainX2))

	    contenido	     mit  3. htaccess fürs backend

	    conlib
	    docs
	    pears 
Der Part

Code: Alles auswählen

/* Path to the htaccessfile with trailling slash from domain-root! */
$cfg['mod_rewrite']['rootdir'] = '/basis/'; 
ist aus der include/config.php verschwunden und in die /egon/config.php
bzw. /cms/config.php

für Kunde 2 als

Code: Alles auswählen

/* Path to the htaccessfile with trailling slash from domain-root! */

$cfg['mod_rewrite']['rootdir'] = '/basis/egon/';
bzw. für Kunde 1 als

Code: Alles auswählen

/*  Path to the htaccessfile with trailling slash from domain-root! */
$cfg['mod_rewrite']['rootdir'] = '/basis/cms/';
eingegangen.

Die 1. und 2. htaccess habe ich den Pfad auskommentiert # RewriteBase /
die 1.1., 2.1., 3. htaccess sind unverändert

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine off
</IfModule>
.

Hilfe, zwei Provider ohne vernünftige mod_rewrite Einstellungen, nein danke.

Danke
Wiebke

smkiel
Beiträge: 68
Registriert: Di 15. Okt 2002, 16:42
Kontaktdaten:

Beitrag von smkiel » Mo 20. Feb 2006, 10:30

Hallo,

@stese
Läuft Dein Paket unter php 5?

ich habe von Hosteurope eine Antwort bekommen, dass unter php 4
die Leistungsfähigkeit des mod_rewrite nicht mehr garantiert werden kann. Sie zeigten ein mögliche Lösung auf, die aber nicht funktionierte.

Sie schrieben, unter php5 würde er aber ohne weiteres laufen.

Ich habe auf die php4 emulation umgestellt, weil ich gelesen hatte, dass contenido 4.6.x nicht mit php5 läuft.

Danke im Voraus und Gruß
Wiebke

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

Beitrag von stese » Mo 20. Feb 2006, 10:35

ich habe es nicht unter php5 getestet - habe aber eigentlich keine befehle genutzt, die nicht auch bei php5 funktionieren täten.

im prinzip is das aber kein problem von php sondern von mod rewrite - weil der leitet ja nun nicht korrekt weiter - wenn du die .htacces einfach unschädlich machst, die config settings im contenido aber mal mit modrewrite laufen lässt, solltest du es feststellen können. denn werden die urls korrekt ersetzt funktioniert prinzipiell die contenido geschichte - dann hakt es nur noch an den korrekten mod rewrite einstellungen des webservers

Marzipanmonster
Beiträge: 12
Registriert: Do 16. Feb 2006, 18:12
Kontaktdaten:

Beitrag von Marzipanmonster » Mo 20. Feb 2006, 11:16

Hallo stese,

ich hätte da nochmal eine Frage bevor ich dein Tool einsetze. Ich hab es mit schon runtergeladen und mal entpackt...

Es gibt quasi für die root-Ebene ein .htaccess und eine index.php-Datei. Unter dem Mandantenordner gibt es dann auch noch eine index.php, wie ich es gesehen habe.
Ich würde meinen Mandanten nun gern im Root-Verzeichnis haben, weil da schon ne Menge Sachen auf dem Sever liegen. Kann ich dann eine index.php weglassen oder muß etwas bestimmtes anpassen?

Liebe Grüße


Adrian

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Beitrag von marphin » Mo 20. Feb 2006, 11:28

Hallo,

ich habe das Bundle von Stese installiert und habe ein Problem:

Die Verzeichnisse "cms", "conlib", "contenido" und "pear" liegen alle im Rootverzeichnis, genau wie die .htaccess (rewritebase: /cms).

Wenn ich die Domain eingebe, kann die Seite nicht angezeigt werden, gebe ich dahinter "/home/" ein, sehe ich mein Frontend einwandfrei und die Navigation funktioniert. Alle Parameter werden wie gewünscht angezeigt, also durch modrewrite umgewandelt.

Was kann ich denn falsch gemacht haben, eigentlich kann es doch nur eine Kleinigkeit sein?

Viele Grüße

marphin

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

Beitrag von stese » Di 21. Feb 2006, 07:58

@marzipanmonster:
die beiden index.php leiten nur auf die front_content.php weiter - sollten also gleich sein.

wenn du mod rewrite nutzt, dann brauchst du das mandantenverzeichnis nicht in die root legen (das bringt eh alles nur ärger, weil dann u.U. nicht mehr alles funktioniert). dass du das mandantenverzeichnis nicht mehr siehst regelt dann mod rewrite für dich, indem du die .htaccess in die root legst und in der config.php vom contenido den pfad zur htaccess mit "/" so belässt wie er standardmäßig vorinstalliert ist.

@marphin
ist "home" der name des hauptbaumes oder schon einer kategorie darunter?
wenn es eine kategorie darunter ist, dann lege mal bitte einen artikel direkt im hauptbaum ab, der auf die eigentliche home weiterleitet.

marphin
Beiträge: 196
Registriert: Mo 24. Nov 2003, 13:01

Beitrag von marphin » Di 21. Feb 2006, 08:26

Hallo Stese,

ich danke Dir für den Tipp und natürlich auch für AdvancedModRewrite. Ich hatte diese Weiterleitung schon vorgenommen, aber irgendwie war nur noch der Haken da, der Pfad fehlte. Naja, jetzt läuft es super.

Gruß, marphin

Marzipanmonster
Beiträge: 12
Registriert: Do 16. Feb 2006, 18:12
Kontaktdaten:

Beitrag von Marzipanmonster » Di 21. Feb 2006, 11:36

So ganz verstehe ich das Prinzip noch nicht.

Ich lasse also mein Mandantenverzeichnis wo es ist. Die .htaccess übernimmt das Umschreiben. Aber wenn jemand dann www.domain.de aufruft, landet er doch nicht automatisch im Mandantenverzeichnis? Das müßte ich dann doch auch umleiten, oder?

Ich habe nämlich unter dem Root-Verzeichnis noch jede Menge Ordner, die da auch so nach der Umstellung auf Contenido liegen bleiben sollen. Daher kam auch nur meine Idee, das Mandantenverzeichnis ins Root zu legen. Wenn das nicht sein muß, wäre das natürlich umso besser.

Liebe Grüße

Adrian

asycs
Beiträge: 64
Registriert: Do 2. Feb 2006, 12:13
Kontaktdaten:

Beitrag von asycs » Di 21. Feb 2006, 13:36

hallo

wie schon in
http://www.contenido.org/forum/viewtopic.php?t=11842
beschrieben, habe ich ein ähnliches problem.

wenn ich die rewrite engine auskommentiere, läuft zwar alles, aber damit funktioniert der rewrite aber nicht.

provider ist silverbird-consulting.de, gehören wohl zu strato.
jemand dort schon erfahrungen gemacht?

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

Beitrag von mR_brown » Fr 24. Feb 2006, 07:38

Hi,

die Installation hat soweit funktioniert, bis auf einen Fehler den ich nicht verstehe:

Code: Alles auswählen

Warning: Invalid argument supplied for foreach() in /homepages/10/d108890691/htdocs/contenido464/cms/front_content.php on line 864
… in der front_content.php in dieser Zeile steht folgendes:

Code: Alles auswählen

864 foreach ($arr_settings as $arr_client) {
if ( $arr_client["type"] == "client" && strstr($arr_client["name"],"frontend_path") !== false ) {
… weiterhin steht in der Domain noch www.domain.de/contenido/ , ab damaliger Installation erfolgt der Zugriff zum Backend über contenido/contenido/ und das Frontend über contenido/cms , wie kann ich das contenido noch "ausblenden".

Gruß + Danke

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

Beitrag von stese » Fr 24. Feb 2006, 07:50

ja muss ich unbedingt fixxen - das ist ein bug in einem feature damit man mehrere domains mit gleichen mod rewrite urls laufen lassen kann (indem der base href tag angepasst wird)

in der front_content.php zeile 864 bitte statt

Code: Alles auswählen

foreach ($arr_settings as $arr_client) {
	   if ( $arr_client["type"] == "client" && strstr($arr_client["name"],"frontend_path") !== false ) {
	      $arr_urlsettings = parse_url($arr_client["value"]);
	      
	      if ($arr_urlsettings["host"] == $_SERVER['HTTP_HOST'] || ("www." . $arr_urlsettings["host"] ) == $_SERVER['HTTP_HOST'] || $arr_urlsettings["host"]  ==  "www." . $_SERVER['HTTP_HOST'] ) {
	         $str_new_htmlpath = $arr_client["value"];
	      }
	      
	   }
	}
den aktuellen code ersetzen:

Code: Alles auswählen

	if (is_array($arr_settings) && count($arr_settings) > 0)
	{
	foreach ($arr_settings as $arr_client) {
	   if ( $arr_client["type"] == "client" && strstr($arr_client["name"],"frontend_path") !== false ) {
	      $arr_urlsettings = parse_url($arr_client["value"]);
	      
	      if ($arr_urlsettings["host"] == $_SERVER['HTTP_HOST'] || ("www." . $arr_urlsettings["host"] ) == $_SERVER['HTTP_HOST'] || $arr_urlsettings["host"]  ==  "www." . $_SERVER['HTTP_HOST'] ) {
	         $str_new_htmlpath = $arr_client["value"];
	      }
	      
	   }
	}
	}

Gesperrt