Advanced Mod Rewriting Contenido 4.4.4

kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

:roll:

Ja super! Da hätte man ja auch so drauf kommen können! :-)
(Ein denkender Kopf ist doch tatsächlich was wert...)

Vielen Dank für die Gedankenspritze!!

stese hat geschrieben:jap, so ne datei ist standardmäßig in der version der 4.5.x drinnen, aber in der 4.4.xer glaube nicht.

einfach in die verzeichnisse die kein mod rewrite haben sollen ne kleine htaccess mit folgendem inhalt werfen:

Code: Alles auswählen

RewriteEngine off
und ab dort wirkt dann kein mod rewrite mehr
andrej
Beiträge: 333
Registriert: Mi 8. Okt 2003, 09:46
Kontaktdaten:

Beitrag von andrej »

habe auch ein kleines problem.
mod_rewrite läuft nicht so wie ich es mir vorstelle.

1: die links, die direkt zu einem artikel führen, funktionieren nicht. das äußert sich so, das ich immer auf der startseite lande, wenn ich diesen anklicke. wenn ich jedoch eine kategorie (ordner->startartikel) anklicke, wird der gewünschte artikel aufgerufen.

2: wenn ich einen artikel aufgerufen habe, wird auf die css datei nicht zugegriffen. auch bilder die ich über den tinyMCE in einen artikel eingefügt habe, werden NICHT angezeigt. der pfad wird verfälscht. hier ein beispiel

Code: Alles auswählen

www.demain.de/cms/upload/bilder/meinbild.jpg <- url wo das bild abgelegt ist. 

www.demain.de/cms/KATEGORIENAME/upload/bilder/meinbild.jpg <- hierhin wird verwiesen, beim laden des bildes beim aktivierten mod_rewrite.
der KATEGORIENAME, varriert natürlich, jenach dem welchen menüpunkt ich aufrufe.

ich muss dazu sagen, das ich nicht den spaw verwende, sondern den tinyMCE.

wenn ich mod_rewrite deaktiviere, funktioniert alles einwandfrei.
hier ein Link zur ansicht: http://devstorm.de.dd5102.kasserver.com/

3: im backend kann ich keine artikel editieren. wenn ich auf text bearbeiten klicke, so das sich der tinymce aufrufen lassen muss, kommt immer ein error500. habe die front_content.php ins root gelegt, und natürlich alle config.php dateien angepasst. ´mandanten sind natürlich auch angepasst. hat hier jemand ein tip?

was kann ich machen? wo liegt der fehler? habe schon im code nachegschaut, und diverse einstellungen getestet, leider ohne erfolg. es scheint so, das die url falsch interpretiert wird.
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

zu 1. das könnte alles sein. wo liegen z.b. die artikel? liegen die direkt in einer hauptkategorie? (also oberste ebene?) heissen z.b. mehrere kategorien oder unterkategorien gleich? also ich hatte einmal das problem dass die verschachtelung der kategorien identisch war:

Code: Alles auswählen

Home
   - Arbeiten
        - Projekte
        - Beispiele
   - Leben

Zusatzbaum
   - Arbeiten
dann hat er den artikel nicht gefunden. aber eigentlich hatte ich diesen bug mal behoben gehabt

zu 2. ein <base href="http://www.domainname.de/cms/"> in den head einfügen und es geht.

zu 3. keine ahnung. ich arbeite nie mit der front_content im root, weil es bei mod rewrite eh überflüssig ist.
PseudoPunk
Beiträge: 26
Registriert: So 7. Aug 2005, 12:43
Kontaktdaten:

Beitrag von PseudoPunk »

Hallo!
habe das ganze nun auch erfolgreich installiert, läuft auch alles super bis auf eine Kleinigkeit, das Comment Modul aus diesem thread (meines Wissens nach die aktuellste version)
http://www.contenido.org/forum/viewtopi ... ht=comment

funktioniert nun nichtmehr, wie man auf dieser Seite hier einsehen kann:
http://www.team-trash.de/cms/Berichte/Raum-um-Raum.html

hat irgendjemand eine Idee woran das liegen könnte?
bzw. noch besser wie man es lösen könnte?
(wenn ja wäre ich über eine detailierte Beschreibung MEHR ALS nur Dankbar)

aber vorne weg schonmal: Kompliment an den Ersteller, wirklich sehr gute Arbeit!
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

öffne mal bitte deine .htaccess datei und schaue nach ob am ende der zeilen mit den rewrite rules ein [QSA,L] steht - ich nehme mal sehr stark an, dass die parameter einfach nicht übergeben werden
PseudoPunk
Beiträge: 26
Registriert: So 7. Aug 2005, 12:43
Kontaktdaten:

Beitrag von PseudoPunk »

nein das steht da nicht, hier mal der Inhalt meiner htaccess

Code: Alles auswählen

DirectoryIndex front_content.php
RewriteEngine on

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]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/([^/]*)/([^/]*)/([^/]*)/$ front_content.php?langname=$1&catnames[]=$2&catnames[]=$3&catnames[]=$4 [L]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/([^/]*)/([^/]*)/(.*).html$ front_content.php?langname=$1&catnames[]=$2&catnames[]=$3&artname=$4 [L]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/([^/]*)/([^/]*)/$ front_content.php?langname=$1&catnames[]=$2&catnames[]=$3 [L]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/([^/]*)/(.*).html$ front_content.php?langname=$1&catnames[]=$2&artname=$3 [L]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/([^/]*)/$ front_content.php?langname=$1&catnames[]=$2 [L]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/(.*).html$ front_content.php?langname=$1&artname=$2  [L]
RewriteRule ^(de|en|fr|sp|deutsch|english|englisch|franzoesisch|francais|spanisch|spain|espanol)/index.html$ front_content.php [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/(.*).html$ front_content.php?catnames[]=$1&catnames[]=$2&catnames[]=$3&artname=$4 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ front_content.php?catnames[]=$1&catnames[]=$2&catnames[]=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/(.*).html$ front_content.php?catnames[]=$1&catnames[]=$2&artname=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/$ front_content.php?catnames[]=$1&catnames[]=$2 [L]
RewriteRule ^([^/]*)/(.*).html$ front_content.php?catnames[]=$1&artname=$2 [L]
RewriteRule ^([^/]*)/$ front_content.php?catnames[]=$1 [L]
RewriteRule ^(.*).html$ front_content.php?artname=$1 [L]
RewriteRule ^index.html$ front_content.php [L]
soll ich das [L] ersetzen?
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

ja, ersetze alle [L] durch [QSA,L]
PseudoPunk
Beiträge: 26
Registriert: So 7. Aug 2005, 12:43
Kontaktdaten:

Beitrag von PseudoPunk »

perfekt das läuft, vielen dank für die schnelle Hilfe :-) :!:
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

Ich hoffe nicht, daß dieses Thema hier in den 14 Seiten schon behandelt wurde (hatte mich zwar schon durchgewühlt aber nichts gefunden).

Bei meiner Implementierung von mod-rewrite ergibt sich das Problem, dass bei falsch eingetippten URLs keine 404-er Seite produziert wird sondern immer auf die Startseite weitergeleitet wird.

Das ergibt das Problem, daß ich mit nem Linkchecker keine Toten Links mehr analysieren kann, da das Signal 404 nicht mehr kommt.

Ergebnis: Ich finde meine Startseite in der Suchmaschine wegen diversen toten Links mehrfach unter verschiedenen toten URLs- nicht gerade klasse.

Weiß jemand, wie man Contenido mit mod-rewrite den automatischen Weiterleitungsmechanismus wieder abtrainiert?
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

schreib einfach in deine .htaccess ein

ErrorDocument 404 http://www.domain.de/error.html

dann wird es auch korrekt weitergeleitet wenn der pfad falsch eingegeben wurde
Steffen44
Beiträge: 134
Registriert: So 12. Dez 2004, 12:18
Kontaktdaten:

Beitrag von Steffen44 »

diese Anfrage ist bezogen auf contenido_453_mr_v1[1].05

Hallo

ich habe es auf meinem Webserver Probiert und lokal mit Xampp ich bekomme es nicht mit Mod Rewrite zum laufen :-(

Mit Xampp kommt immer die gewohnte Willkommensseite egal was man in den Pfaden konfiguriert.

Auf dem Webserver kommt immer "You don't have permission to access /Contenido453modrew/cms on this server."

Ich raffe das mit den Pfaden nicht irgendwas mach ich da falsch kann mir jemand ne genaue Erklörung geben welche Pfade ich in die config.php und die .htacess reinschreiben muß ?


momentan ist es so in der .htaccess :

Code: Alles auswählen

RewriteBase /cms
und in der config.php ist es so:

Code: Alles auswählen

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

soweit ich das verstanden habe müßen es keine absoluten Server Pfade sein also mit /var/www/web58/html/meinesite/Contenido453modrew

oder doch ich weis es nicht ... :?
Super neues Forum **freu** jetzt geht auch die E-Mail Benachrichtigung für Freenet Acounts !
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

Hallo Stese,
stese hat geschrieben:schreib einfach in deine .htaccess ein
ErrorDocument 404 http://www.domain.de/error.html
dann wird es auch korrekt weitergeleitet wenn der pfad falsch eingegeben wurde
Der Tipp funktioniert leider nicht. Habe es mit lokaler Pfadangabe (wie in meiner httpd.conf) und wie in Deinem Bespiel per "http://" angegeben.

Beides führt leider nicht zum Ergebnis.

Ich frage mich, ob es sich dabei um ein rewrite-Problem handelt oder evtl. um etwas Contenido-internes?

Gibt es in Contenido eine Einstellung für Fehlerseiten?

Mir fällt gerade noch etwas ein:
Das kann wahrscheinlich deshalb nicht gehen, weil wenn kein Fehler produziert wird, wird auch nicht auf die Fehlerseite gelenkt. Soll heißen: beim Webserver kommt kein 404 an. Also muß die ungewünschte Umleitung bereits vorher erfolgen.
Kann das evtl. an der Umrechnung beim rewriting der URL liegen? Prüft das System denn, ob beim Aufruf der Seite http://mydomain.de/Name-des-Artikels.html eine Kategorie/Artikel des Namens "Name des Artikels" existiert wenn er in die Kategorien- /Artikelnummer umrechnet?

Möglicherweise liegt hier der Hase im Pfeffer.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

@kptkip

ähm
das wird sich nicht über rewrite rules lösen lassen... (von der logik her gesehen ein ding der unmöglichkeit)

es findet immer eine umleitung auf die front_content.php statt, wenn die rewrite rule zutrifft, und erst dort wird ausgewertet ob idcat & idart überhaupt im contenido system vorhanden sind... (und die auswertung muss irgendwo vorgenommen werden)

sollte idcat und idart nicht erruierbar sein, müsste ,so wie du es haben willst, auf eine 404 error seite weitergeleitet werden...

contenido bietet nur die möglichkeit bei den mandanten einstellungen eine entsprechende fehler kategorie/artikel zu definieren... eine weiterleitung auf einen 404 code ist dort nicht vorgesehen... (bzw das senden eines entsprechenden error headers)
*** make your own tools (wishlist :: thx)
kptkip
Beiträge: 192
Registriert: Mi 8. Jun 2005, 18:02
Kontaktdaten:

Beitrag von kptkip »

@emergence

Stimmt sehe ich auch so, die Frage ist, wo wird die Überprüfung auf vorhandene Artikel/Kategorien gemacht?

An dieser Stelle wird (wenn ich mich nicht täusche) doch die Weiterleitung zur front_content.php ohne Parameter erfolgen, oder?

Dort müßte man doch einfach einen 404-er Header produzieren und den Rest den APache machen lassen.
Oder stelle ich mir das zu einfach vor?
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

definiere doch einfach bei den Mandanteneinstellungen eine Fehlerseite

und mit dieser Fehlerseite (ist ein ganz normaler Artikel) kannst du ja machen was du willst - z.b. einen header 404 ausgeben oder eben einen Fehlertext angeben...
Gesperrt