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 12. Mai 2006, 08:14

ok die lösung ist nicht schlecht - ist dann auch sichergestellt, dass es immer noch funktioniert, wenn kein www. mehr vor der domain eingegeben wird?

steff
Beiträge: 31
Registriert: Mo 28. Okt 2002, 12:56
Wohnort: Kölle
Kontaktdaten:

Beitrag von steff » Fr 12. Mai 2006, 08:50

nope. War mir persönlich egal, aber guter Einwand. Die Lösung gabs hier von DSS: http://contenido.org/forum/viewtopic.php?t=10389

Bei fehlender www. Angabe komplettiert die htaccess die URL und es gibt auch keine etwaigen Probleme mit Suchmaschinenen die Seiten ohne www. aus dem Index löschen wollen.

Also:

Code: Alles auswählen

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.      [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)        http://www.%{HTTP_HOST}/$1   [R=301] 

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>

Alexxx
Beiträge: 2
Registriert: Do 8. Sep 2005, 00:00
Kontaktdaten:

Beitrag von Alexxx » So 14. Mai 2006, 23:55

Hallo, Forum.

Nun versuche ich Bundle mit Mod-rewrite von Stese seit einiger Zeit korrekt nach Anleitung zu installieren.
Dabei erhalte ich je nach Tageszeit verschiedene Fehler :lol:
Bald werde ich wahnsinnig ... :shock:

Ich habe mich schon durch etliche Treads durchgelesen und vieles ausprobiert. Leider half alles nichts, deswegen möchte ich hier mein Problem posten und auf die Hilfe vom Forum hoffen. Schliesslich muss es funktionieren. Es ist doch meist so, dass das Problem in Wirklichkeit nur ein Tippfehler oder falsche Einstellung ist. Leider komme ich nicht drauf.

Also nach dem Upload wird in der contenido/includes/config.php mod_rewrite auf 1 umgestellt.

Im Adminmenü bei den Mandanteinstellungen wurde nach Anleitung gehandelt:
Typ: "ModRewrite"
Name: Der zu Überschreibende Key aus der config.php, z.B.:
"use_lowercase_uri"
Wert: der zu Überschreibende Wert z.B. "1"
Nach Aufruf von domain.de/index.php kommt Meldung:

Code: Alles auswählen

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/index.php on line 14
Dazu möchte ich sagen, dass in der config.php keine Leerzeilen sind oder sonstiges. Es wurde wirklich nur die 0 auf 1 umgestellt.


Beim direkten Aufruf von domain.de/cms/front_content.php kommen Meldungen:

Code: Alles auswählen

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 479

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 484

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 485

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 486

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 487

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 488

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/conlib/session.inc on line 489

Warning: Cannot modify header information - headers already sent by (output started at /serverpfad_usw/contenido/includes/config.php:1) in /serverpfad_usw/cms/front_content.php on line 201

Dabei werden die Links der Seite auch nach mod_rewrite Methode aufgerufen, allerdings beim Klick darauf kommt Fehler 404 "Seite nicht gefunden".

Wird die .htacces scharf gemacht kommt sofort Fehler 500 und dann läuft gar nichts mehr.

In der config.php habe ich etliche Varianten der Einstellungen ausprobiert, aber es kommt alles auf dasselbe hinaus.

Ich schätze es liegt an der .htaccess oder Servereinstellungen.
Ich nutze PHP5.1.2-extended und MySQL 5.0.18

Könnte mir jemand unter die Arme greifen? :roll:


MfG, Alex.

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

Beitrag von stese » Mo 15. Mai 2006, 07:38

fehler 500 wurde schon mehrmals behandelt - u.a. in dem thread und in einem thread namens "mod rewrite" - suche benutzen, ich bin es leid alles 10x zu schreiben.

das mit den headers kann nur sein, wenn wirklich was in der config ist. bitte überprüfe ob auch wirklich nichts vor dem öffnenden PHP Tag und nach dem schließenden PHP Tag in der config ist (beliebt sind leerzeichen). es kann auch sein, dass dein ftp programm dir ein paar blinde zeichen davor oder danach rangehauen hat. in dem falle lasse die config.php bitte vom setup direkt auf den server speichern (nicht herunterladen) und ändere die modrewrite einstellungen grundsätzlich über die mandanten einstellungen

der_allgaeuer
Beiträge: 94
Registriert: Mo 3. Jan 2005, 20:59
Kontaktdaten:

Mod Rewrite 4.6.4 funktioniert nicht

Beitrag von der_allgaeuer » Mi 17. Mai 2006, 09:06

Hallo,
ich habe Original AdvancedMod Rewrite 4.6.4 von stese installiert und in das verzeichnis hotel (Nachbarverzeichnis von cms) einen Mandant angelegt.
Nun sind alle Inhalte in deutsch gefüllt, nur ModRewriting funktioniert nicht.
Es steht immer noch die URL mit ...front_content.php?idcat=203.

Ich habe in der /contenido/includes/config.php

Code: Alles auswählen

$cfg['mod_rewrite']['use'] = 1;
Ich habe im root-Verzeichnis die .htaccess reinkopiert und folgende Änderung vorgenommen

Code: Alles auswählen

RewriteBase /hotel
Es sind alle aliase gefüllt, - die von den Kategorien und die von den Artikeln.

Ja, und das war's eigendlich bei diesem Mandanten auch schon.
Wie gesagt, wird hier die URL überhaupt nicht geändert.

Wenn ich jedoch in der .htaccess die RewriteBase auf /cms ändere wird über die Eingabe der Domain sofort der Beispielmandant aufgerufen.
Hier funktioniert Mod Rewriting, nur hinten steht kein index.htm
Also ist doch von Server-Seite alles in Ordnung, oder?

Wo muß ich bei meinem Mandant noch etwas umstellen?

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

Beitrag von stese » Mi 17. Mai 2006, 10:53

kopiere bitte einmal die komplette modrewrite sektion aus contenido/includes/config.php in die hotel/config.php - sollte eigentlich so gehen.

dass keine .html endungen in der navigation zu sehen sind, liegt am modul. wenn es nur die idcat in der ausgabe der links generiert kann das die engine nicht wissen, dass es auch artikel anzeigen soll. die setzt nur .html dateien, wenn das modul auch korrekt die idart ausgibt. da gibt es meines wissens hier im forum irgendwo eine angepasste navigation.

der_allgaeuer
Beiträge: 94
Registriert: Mo 3. Jan 2005, 20:59
Kontaktdaten:

Beitrag von der_allgaeuer » Mi 17. Mai 2006, 19:03

kopiere bitte einmal die komplette modrewrite sektion aus contenido/includes/config.php in die hotel/config.php
... hab ich gemacht, - hat keinerlei Wirkung. Es wird nach wie vor die Adresse als "...front_content.php?idcat=80" angezeigt. - keine Änderung :( .

Was kann ich denn noch tun?

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

Beitrag von stese » Mi 17. Mai 2006, 19:05

kopiere bitte die front_content.php aus dem cms verzeichnis auch in das hotel verzeichnis. ich nehme sehr stark an, dass das noch die originale ist, denn es funktioniert ja im cms verzeichnis

der_allgaeuer
Beiträge: 94
Registriert: Mo 3. Jan 2005, 20:59
Kontaktdaten:

Beitrag von der_allgaeuer » Do 18. Mai 2006, 00:51

ja, das wars wohl. Nun wird meine Startseite aufgerufen und ich kann auch über das Menü fahren, nur eine weitere Seite kann ich nicht aufrufen.
So zu sagen, die Seite welche durch direkten Aufruf der front_content.php erscheind. Die Seiten wo dann noch die Parameter dran sind können nicht aufgerufen werden.
Ich denke, jetzt ist das Problem nur noch ganz klein, oder?
Wo fehlt es wohl noch?

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

Beitrag von stese » Do 18. Mai 2006, 07:10

wie bitte? ich verstehs nicht. prinzipiell kann immer alles aufgerufen werden, egal ob als modrewrite url oder als korrekter pfad front_content.php? das is dem server vollkommen egal.

panti
Beiträge: 40
Registriert: Mi 16. Nov 2005, 20:34
Kontaktdaten:

Variablen in der URL werden mit $_REQUEST nicht ausgelesen

Beitrag von panti » Do 18. Mai 2006, 19:00

Nachdem eine Umleitung mit z.B. folgender URL stattfindet

Code: Alles auswählen

login-hinweis.html?ref_idart=107&ref_file=2006/03/18.06.pdf&failed_login_attempts=0
kann ich die URL-Variable ref_file nicht mit GET oder REQUEST auslesen. Im GET- bzw. REQUEST-Array ist sie folgendermassen abgelegt:

Code: Alles auswählen

$_GET['amp;ref_file] bzw. $_REQUEST['amp;ref_file']
Ist das normal? Was muss getan werden, um wieder die Erde zum Kreisen zu bringen.

Ich finde nichts dazu (bin wirklich alle 17 Seiten durchgegangen, ehrlich)

Merci für eure Antworten

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

Beitrag von stese » Do 18. Mai 2006, 19:03

umleitung? wo? meinst du eine artikel weiterleitung? in weiterleitungen dürfen keine entities stehen - das versteht der server ja nicht - entities dürfen nur im html quelltext stehen, damit der browser das anhand des doctypes korrekt verarbeitet

panti
Beiträge: 40
Registriert: Mi 16. Nov 2005, 20:34
Kontaktdaten:

Umleitung à la...

Beitrag von panti » Do 18. Mai 2006, 19:12

Hi Stese

Ich habe eine Umleitung à la

Code: Alles auswählen

	$str_errsite = 'front_content.php?idart=' . $err_idart . '&ref_idart=' . $ref_idart . '&ref_file=' . $ref_file . '&failed_login_attempts=' . $failed_login_attempts;

	if ($cfg['mod_rewrite']['use'] == 1) {
		cInclude("classes","class.modrewrite.php");
      
		if (preg_match('/^front_content\.php(.*|.+?)/i', $str_errsite, $arr_hits ) == 1) {
			$str_errsite = ModRewrite::build_new_url($arr_hits[1]);
		}
	}

	$errsite = 'Location: ' . $str_errsite;

	header($errsite);
gemacht.

Macht die Methode build_new_url die Entities rein?

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

Beitrag von stese » Do 18. Mai 2006, 19:21

ja macht sie.

entweder du änderst die wieder
nach der ersetzung mittels str_replace oder du
schreibst die build_new_url um ... ich ändere es
auf jeden fall mal in der funktion

panti
Beiträge: 40
Registriert: Mi 16. Nov 2005, 20:34
Kontaktdaten:

Änderung

Beitrag von panti » Do 18. Mai 2006, 19:51

Betrifft es nur die Zeile 425?

Von

Code: Alles auswählen

      if ( count ( $arr_additional_params ) > 0 ) {
         $str_additional_params = '?' . join ( "&", $arr_additional_params );
      }
Nach

Code: Alles auswählen

      if ( count ( $arr_additional_params ) > 0 ) {
         $str_additional_params = '?' . join ( "&", $arr_additional_params );
      }

Gesperrt