Plugin Advanced Mod Rewrite für Contenido 4.8.x

xmurrix
Beiträge: 3193
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix »

techie hat geschrieben:Habe AMR und die 4.8.14 versucht. Hat aber nicht funktioniert. Ich warte auf die AMR 0.5.6
Hallo techie,

in der Contenido-Version 4.8.14 gibt es keine Änderung, die eine Anpassung des AMR-Plugins benötigt. Kannst du uns bitte schildern, was genau nicht geht?

Werde es mir selber zwar nochmal genauer ansehen, dennoch wäre es hilfreich, wenn wir hier im Forum eine genaue Beschreibung des Problems bekommen.

Hier gibt es z. B. eine schöne Anleitung, an die man sich richten kann:
http://forum.contenido.org/viewtopic.php?f=25&t=30336

Nachtrag:
Habe soeben Contenido 4.8.14 inkl. des AMR-Plugins 0.5.5 frisch installiert. Alle grundlegenden Features funktionieren, auch das Testscript im Mandantenverzeichnis (mr_test.php) arbeitet ohne Probleme. Sollte es bei jemandem dennoch nicht wie gewünscht funktionieren, bitte genaue Beschreibung des Problems angeben (inkl. der AMR-Konfiguration). Erst wenn mein Account bei http://www.tarot-treff.de/ freigeschaltet ist, kann ich solche Probleme auch ohne Detailinfos "eingrenzen/sehen" :mrgreen:

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
techie
Beiträge: 8
Registriert: Fr 9. Jan 2009, 21:08
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von techie »

xmurrix hat geschrieben:
Nachtrag:
Habe soeben Contenido 4.8.14 inkl. des AMR-Plugins 0.5.5 frisch installiert. Alle grundlegenden Features funktionieren, auch das Testscript im Mandantenverzeichnis (mr_test.php) arbeitet ohne Probleme. Sollte es bei jemandem dennoch nicht wie gewünscht funktionieren, bitte genaue Beschreibung des Problems angeben (inkl. der AMR-Konfiguration). Erst wenn mein Account bei http://www.tarot-treff.de/ freigeschaltet ist, kann ich solche Probleme auch ohne Detailinfos "eingrenzen/sehen" :mrgreen:

Gruß
xmurrix
OK, sorry. Das war etwas ungenau.
Das Testskript funktionierte bei mir ebenfalls. Aber leider haben die Navigationsmodule des Beispielmandanten bzw. der NaviUniversell die URL's nicht umgeschrieben.

Und was sagt Murphy dazu?
Neuer Versuch, Neue Installation, jetzt funzt es. Keine Ahnung warum. Nichts anders gemacht.
peko
Beiträge: 32
Registriert: Mo 22. Dez 2008, 13:26
Wohnort: Wien
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von peko »

Hallo!

Auch ich habe so meine Probleme mit AMR 0.5.5 + Con 4.8.14

Ich habe folgende grunsätzliche Dateistruktur:

Mandant liegt im Rootverzeichnis
Contenido (inkl. aller Folder) im Verzeichnis /admin (also wäre Contendio über http://www.ipnetcom.at/admin/contenido erreichbar, bzw. habe ich es so eingerichtet, dass http://www.ipnetcom.at/admin reicht).
.htaccess liegt in /.

Habe jetzt alles so konfiguriert, wie ich glaube, dass es richtig ist.

mr_test gibt an, alle URLs erfolgreich aufzulösen, nur hängt er an alle ein foo=bar an - soll das so sein?

Auf der Webseite selbst werden bei Mouseover in der Statusleiste die Links nur teilweise richtig umgeschrieben. Ich habe zum Beispiel bei meiner Footernavigation bei den Links ein /?a=79&level=0 (zum Beispiel: http://ww.ipnetcom.at/sitemap/?a=79&level=0). Wo kommt das denn her?

Wenn ich auf einen Link auf der Webseite klicke, bekomme ich einen HTTP-Error 403 Forbidden. Meiner Ansicht nach steigt dann AMR in der Dateihierarchie zu weit hinauf.

Error Log ist leer...

.htaccess sieht so aus:

Code: Alles auswählen

###############################################################################
# Contenido AMR plugin restrictive rewrite rules set
#
# Contains strict rules, each rewrite exclusion must be set manually.
#
# - Exclude requests to directories usage/, contenido/, setup/, cms/upload/
# - Exclude requests to cms/front_content.php
# - Pass thru requests to common ressources (pics, js, css, pdf)
#
###############################################################################


# Enable following lines to run PHP5 on 1und1.de (1and1.com)
# ----------------------------------------------------------
#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

<IfModule mod_rewrite.c>

# Enable rewrite engine
# ---------------------
RewriteEngine on


# Specify a base URL-path for the rules
# -------------------------------------
RewriteBase /


# Catch some common exploits in query string to get rid of them
# NOTE: Conditions to prevent protocolls (ftp, http[s]) in query string could be a
#       disadvantage in some cases
# --------------------------------------------------------------------------------
RewriteCond %{QUERY_STRING} contenido_path=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} cfg\[path\]=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} _PHPLIB\[libdir\]=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} ftp://.*$  [NC,OR] 
RewriteCond %{QUERY_STRING} http[s]*://.*$ [NC] 
RewriteRule ^.* - [F,L]  # all matching conditions from above will end in nirvana


# Exclude some files and directories from rewriting
# -------------------------------------------------
RewriteRule ^usage/.*$ - [L]
RewriteRule ^contenido/.*$ - [L]
RewriteRule ^setup/.*$ - [L]
RewriteRule ^upload/.*$ - [L]
RewriteRule ^test/.*$ - [L]
RewriteRule ^cms/front_content.php.*$ - [L]
# enable following line if you want to run the plugin test
RewriteRule ^cms/mr_test.php.*$ - [L]
RewriteRule ^mr_test.php.*$ - [L]

RewriteRule ^admin/.*$ - [L]
#RewriteRule ^front_content.php.*$ - [L]

# One RewriteRule to rule them all
# --------------------------------
RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]
</IfModule>


In der Modul-Konfig von AMR habe ich folgendes eingestellt:
Pfad zur .htaccess Datei aus Sicht des Web-Browsers: /

Vielleicht hat jemand einen Tipp...

lg p
xmurrix
Beiträge: 3193
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix »

Hallo peko,

zu den zusätzlichen Parametern, die in diversen Modulen des Beispielmandanten vorkommen, gibt es viele Beiträge und auch Lösungshinweise (siehe http://forum.contenido.org/viewtopic.php?f=66&t=23501).

Zur HTTP 403 Antwort:
Vermutlich liegt die Ursache hierfür in der Apache-Konfiguration. Eine abgeschaltete Options-Direktive könnte z. B. die Ursache sein. Weder Contenido, noch das AMR-Plugin geben eine HTTP 403 Antwort aus.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
peko
Beiträge: 32
Registriert: Mo 22. Dez 2008, 13:26
Wohnort: Wien
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von peko »

Hallo!
Danke für die schnelle Antwort. Zwischenzeitlich habe ich den fred mit den Modulanpassungen selbst gefunden, arbeite mich da grade durch...

Zum error 403 - das dacht ich mir schon, dass da möglicherweise am Server was nicht passt. Denn wenn ich irgendetwas an der jetzigen Konfig von AMR ändere, geht entweder gar nichts, oder die angezeigten Links sind definitiv falsch. Das heißt: theoretisch sollte es gehen...

Interessanterweise klappt alles, wenn ich - wie in der AMR-Doku beschrieben - als Test über die htaccess auf eine andere Domain umleite.

Naja, dann mal Provider fragen...

lg p
peko
Beiträge: 32
Registriert: Mo 22. Dez 2008, 13:26
Wohnort: Wien
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von peko »

Hallo!

Ich habe jetzt gerade Antwort von meinem Provider erhalten. Er hat mir die Serverkonfiguration geschickt. Meiner Meinung nach ist diese Ordnung: AllowOveride All.

Code: Alles auswählen

<VirtualHost *:80>
         #
         # ip-netcom.at is owned by user ipnetcom
         # automatically created by icontrol.
         #
         ServerName      www.ip-netcom.at
         ServerAdmin     office@ip-netcom.at
         DocumentRoot    /home/i/ipnetcom/www.ip-netcom.at

         RewriteEngine on

         <Directory "/home/i/ipnetcom/www.ip-netcom.at">
                 AllowOverride All
                 Order allow,deny
                 Allow from all
         </Directory>

         CustomLog       /var/log/apache22/www.ip-netcom.at-access_log combined
         ErrorLog        /var/log/apache22/www.ip-netcom.at-error.log

         SuexecUserGroup ipnetcom ipnetcom

         ScriptAlias /cgi-bin/ "/home/i/ipnetcom/www.ip-netcom.at/cgi-bin/"
</VirtualHost>

<VirtualHost *:80>
         #
         # ipnetcom.at is owned by user ipnetcom
         # automatically created by icontrol.
         #
         ServerName      www.ipnetcom.at
         ServerAdmin     office@ipnetcom.at
         DocumentRoot    /home/i/ipnetcom/www.ipnetcom.at

         RewriteEngine on

         <Directory "/home/i/ipnetcom/www.ipnetcom.at">
                 AllowOverride All
                 Order allow,deny
                 Allow from all
         </Directory>

         CustomLog       /var/log/apache22/www.ipnetcom.at-access_log combined
         ErrorLog        /var/log/apache22/www.ipnetcom.at-error.log

         SuexecUserGroup ipnetcom ipnetcom

         ScriptAlias /cgi-bin/ "/home/i/ipnetcom/www.ipnetcom.at/cgi-bin/"
</VirtualHost>
lg p
xmurrix
Beiträge: 3193
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix »

Gib doch mal am Anfang der .htaccess folgende Zeile ein:

Code: Alles auswählen

Options +FollowSymlinks
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
peko
Beiträge: 32
Registriert: Mo 22. Dez 2008, 13:26
Wohnort: Wien
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von peko »

Hallo,
das wars leider nicht.

Die Links werden richtig angezeigt, wenn man mit der Maus drüberfahrt und in die Statuszeile schaut - auch in der Quellcodeanzeige - wenn man drauf klickt, bekommt man aber immer noch einen HTTP 403 Error.
Wenn ich die htaccess oder das AMR-Modul irgendwie anders konfiguriere geht gar nichts, dann wird die Startseite oft schon nicht mehr angezeigt...

In den nächsten Tagen werde ich die Server-ErrorLogs durchschauen können, vielleicht geben die mehr Aufschluss...

lg p
xmurrix
Beiträge: 3193
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix »

peko hat geschrieben:...
das wars leider nicht.

Die Links werden richtig angezeigt, wenn man mit der Maus drüberfahrt und in die Statuszeile schaut - auch in der Quellcodeanzeige - wenn man drauf klickt, bekommt man aber immer noch einen HTTP 403 Error.
...
Noch etwas ist mir aufgefallen. In der .htaccess ist die Ausnahme für front_content.php auskommentiert, diese Zeile sollte eigentlich aktiv sein.

Code: Alles auswählen

RewriteRule ^front_content.php.*$ - [L]
Gab es einen Grund dafür?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
peko
Beiträge: 32
Registriert: Mo 22. Dez 2008, 13:26
Wohnort: Wien
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von peko »

Hallo,

habe jetzt Einsicht in die Server-Error-Logs erhalten. Hier war haufenweise permission denied zu finden. Daher wohl die 403er Fehlerseite.
Mit dem Provider das durchgegangen. Dieser hat dann was mit den Schreibrechten gemacht und jetzt bekomme ich keinen 403er mehr sondern einen 404 (nicht gefunden). Jetzt schätze ich mal hat es noch etwas in der .htaccess.

Deshalb meine aktuelle anbei:

Code: Alles auswählen

###############################################################################
# Contenido AMR plugin restrictive rewrite rules set
#
# Contains strict rules, each rewrite exclusion must be set manually.
#
# - Exclude requests to directories usage/, contenido/, setup/, cms/upload/
# - Exclude requests to cms/front_content.php
# - Pass thru requests to common ressources (pics, js, css, pdf)
#
###############################################################################


# Enable following lines to run PHP5 on 1und1.de (1and1.com)
# ----------------------------------------------------------
#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

<IfModule mod_rewrite.c>

# Enable rewrite engine
# ---------------------
RewriteEngine on

# Specify a base URL-path for the rules
# -------------------------------------
RewriteBase /

# Catch some common exploits in query string to get rid of them
# NOTE: Conditions to prevent protocolls (ftp, http[s]) in query string could be a
#       disadvantage in some cases
# --------------------------------------------------------------------------------
RewriteCond %{QUERY_STRING} contenido_path=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} cfg\[path\]=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} _PHPLIB\[libdir\]=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} ftp://.*$  [NC,OR] 
RewriteCond %{QUERY_STRING} http[s]*://.*$ [NC] 
RewriteRule ^.* - [F,L]  # all matching conditions from above will end in nirvana


# Exclude some files and directories from rewriting
# -------------------------------------------------
#RewriteRule ^usage/.*$ - [L]
#RewriteRule ^contenido/.*$ - [L]
#RewriteRule ^setup/.*$ - [L]
#RewriteRule ^upload/.*$ - [L]
#RewriteRule ^test/.*$ - [L]
#RewriteRule ^cms/front_content.php.*$ - [L]
# enable following line if you want to run the plugin test
#RewriteRule ^cms/mr_test.php.*$ - [L]

RewriteRule ^mr_test.php.*$ - [L]
RewriteRule ^admin/.*$ - [L]
RewriteRule ^front_content.php.*$ - [L]

# One RewriteRule to rule them all
# --------------------------------
RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]


</IfModule>

Vielleicht liegt es auch am SymLink vom Server, mit den die Domain www.ipnetcom.at auf www.ip-netcom.at umgeleitet wird?
Es ist aber so: wenn bei den Einstellungen der RewriteBase (sowohl htaccess als auch AMR-Konfig) was anderes eingetragen wird als /, geht gar ncihts mehr. mr_test sagt mir, dass alle Links richtig umschrieben werden. Klickt man aber drauf gibt es nen 404er.

Wie gesagt: im root-Verzeichnis liegt der Mandant mit allen Dateien. Contenido liegt im Unterverzeichnis admin/ des Mandanten, (www.ipnetcom.at/admin öffnet das Contenido-Login...

Und noch etwas: kann ich mit dem Modul den Server abschießen? Ich habe gerade noch eine Idee gehabt, was sein könnte. Habe das noch schnell in der htaccess ausprobiert. Hat aber nichts gebracht. Habe die Änderungen in htaccess rückgängig gemacht und wieder auf den server raufgespielt. Jetzt bekomme ich auf einmal einen Error 500! Internal Server Error. Nichts geht mehr... Ich komme auch nicht mehr ins contenido rein um AMR abzudrehen. Panik!

p
techie
Beiträge: 8
Registriert: Fr 9. Jan 2009, 21:08
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von techie »

@peko: Nur keine Panik. Erstmal per FTP die htaccess durch umbenennen deaktivieren.
Wenn Du Contenido normal installiert hast liegt die front_content.php im Verz. cms
Setz mal die RewriteBase auf /cms
peko
Beiträge: 32
Registriert: Mo 22. Dez 2008, 13:26
Wohnort: Wien
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von peko »

Hallo, danke für die schnelle Reaktion.
Der 500er war mein Fehler: habe mich beim rüberkopieren auf den Server offensichtlich vertan und sie eine Ebene höher auf den Server kopiert. Damit habe ich mir quasi das root-verzeichnis zerschossen... Panik habe ich deshalb bekommen, weil nicht einmal löschen oder umbenennen der htaccess was bewirkt hat - aber eh klar, wenns drüber noch eine gibt...

Die "fehlgeleitete" Datei gelöscht und alles geht wieder. Interessanterweise scheint jetzt aber AMR erstmals auch zu funzen und zwar mit den Einstellungen von vorher. Komisch. Warum nicht gleich? Naja, egal - Hauptsache, jetzt klappts.

lg p
benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von benja »

Hallo,

wie richte ich denn mit AMR eine Weiterleitung ein, damit die URL nur noch über www.domain.de erreichbar ist und nicht mehr über domain.de?

Das hier habe ich in der htaccess ergänzt, aber damit läuft gar nichts mehr:

RewriteCond %{HTTP_HOST} ^domain.de$
RewriteRule ^(.*) http://www.domain.de/$1 [R=301,L]
RewriteRule ^$ front_content.php [QSA,L]

Weiß jemand woran das liegt? Oder was ich falsch mache?
System ist 4.8.14, AMR 0.5.5

LG
benja
Oldperl
Beiträge: 4310
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 3 Mal
Danksagung erhalten: 2 Mal
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von Oldperl »

Hallo benja,

Zeilen in der htaccess suchen

Code: Alles auswählen

# Enable rewrite engine
# ---------------------
RewriteEngine on
dahinter folgende Zeilen, wobei domain.tld durch deine Domain zu ersetzen ist, einfügen
Entweder mit www

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^domain.tld [NC]
RewriteRule (.*) http://www.domain.tld/$1 [R=301,L]
Oder ohne www

Code: Alles auswählen

RewriteCond %{HTTP_HOST} ^www.domain.tld [NC]
RewriteRule (.*) http://domain.tld/$1 [R=301,L]
Alles andere unangetastet lassen und auch nicht irgendwo an anderer Stelle dazwischen kopieren.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
benja
Beiträge: 168
Registriert: Mi 31. Aug 2005, 10:54
Wohnort: Köln
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von benja »

Lieber Ortwin,

vielen, vielen Dank für die schnelle Hilfe. Das scheint zu funktionieren :)

LG
benja
Gesperrt