Original AdvancedMod Rewrite 4.6.15

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

stese hat geschrieben:keine ahnung - ich verwende die selbst und bei mir geht es problemlos - wie zeigt sich denn der fehler? wie schauen denn die urls aus?
liegt natürlich wieder an mir :(


scheint nicht die VP sitemap sondern meine selbstgebastelte headerInfoNavi :(

Code: Alles auswählen

<?php

#System properties in use:
#Type: navigation, Name: idcat_HeaderInfoNavi2
#Contains idcat of tree to be displayed in HeaderInfoNavi2


#Includes
cInclude("frontend", "includes/functions.navigation.php");
cInclude('classes', 'class.template.php');

#Get settings	
$cApiClient = new cApiClient($client);
$catStart = $cApiClient->getProperty('navigation', 'idcat_HeaderInfoNavi2');

if (!is_object($oClient)) {
	$oClient = new cApiClient($client);
}

#Get sub categories
$navigation = array ();
$navigation = createNavigationArray($catStart, $db);

#Output sub categories


$output = '';
if (count($navigation) > 0) {
	foreach ($navigation as $key => $data) {

            $output .= '<a href="'.$sess->url("front_content.php?idcat=".$data['idcat']).'" title="'.$data['name'].'">'.$data['name'].'</a> | ';
        }
}
if (strlen($output) > 0) {
	$output = substr($output, 0, strlen($output) - 3);
}

echo $output;
?>
denn da liegt der redirect auf die sitemap ich denke das wirds sein
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

äh ja. ich habs zwar nicht verstanden, liegt aber nicht am vpsitemap modul.

prinzipiell funktionieren auch alle bestehenden module bis auf wenige ausnahmen, die oftmals auf schlechte programmierung zurückzuführen sind:
- zugriff auf die systemvariablen $idcat, $idart, $lang etc über den $_GET oder $_REQUEST parameter. denn die werden ja im mod rewrite weggeschnitten, darum auch nicht mehr übergeben. (den fall hatte ich gerade bei der blätterbaren artikelliste - das kann dann natürlich nicht funktionieren)
- schreiben der urls inkl. dem cfgClient-Frontend-Pfad (denn sobald was in der url vor front_content.php steht wird die ersetzungsroutine nicht durchgeführt, da er annimmt, dass es sich um einen fremden webserver handelt)
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

komme nicht weiter

jetzt habe ich dein script zum leeren der urlnamen/aiase und neu bilden das erste mal benutzt, leer auch prima die aliase aber schreibt sie nicht neu

nun ist nichts mehr erreichbar :( muss ich jetzt etwa doch alle aliase neu manuell anlegen? denn nun ist natürlich nichts mehr erreichbar :(

HILFEEEEEEEEEEEEEE
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
PickPay
Beiträge: 164
Registriert: Di 2. Dez 2003, 19:38
Wohnort: Zürich
Kontaktdaten:

Beitrag von PickPay »

Sagt mal, wird eigentlich dieses Modul in einer nächsten Version von Contenido offiziell integriert? Ich habe mir nur kurz mal eine Testversion lokal installiert und ausprobiert und muss sagen: SEHR SCHÖN! Dies wird wohl all meine bisherigen .htaccess ersetzen, welche ich zum URL-Parsing verwendet habe.
Ich meine nur, dass wäre dann doch ein sehr guter und entscheidender Pluspunkt für die Verwendung von Contenido, wurden doch diesbezüglich schon mehrmals Kritiken geäussert.
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

hm f4b hat sich nicht dazu geäußert, ich denke es wird eine extra erweiterung bleiben, da es nicht direkt zum core gehört.

Noch ein genereller hinweis, vor allem auch an DiMiZu, der gleiches problem haben wird:
mvf hatte eben das problem dass er eine kategorie partout nicht hat aufrufen wollen und statt dessen auf die fehlerseite geleitet hat. das ist KEIN problem von der mod rewrite engine, sondern eine etwas eigenwillige funktionsweise der contenido internen funktion prResolvePathViaURLNames / prResolvePathViaCategoryNames.
die funktion sucht nach im englischen ähnlich klingenden kategorienamen um das aufrufen der fehlerseite zu verhindern. die grobe funktionsweise ist die, dass aus den lautzeichen des kategorienamens ein numerischer wert errechnet wird. dieser wert wird mit anderen werten in der datenbank verglichen und die entsprechende kategorie wird zurückgeliefert. das ist dann von vorteil, wenn die url von einem benutzer händisch aufgerufen wird und dieser sich verschreibt, dann kommt im regelfall trotzdem der korrekte inhalt angezeigt.

problem in dieser funktion: bei richtiger schreibweise, wird dennoch verglichen und falls es zufällig eine ähnlich klingende kategorie mit niedrigerer idcat gibt, wird diese zurückgeliefert und nicht die eigentlich korrekte kategorie. (das ist das problem bei DiMiZu)

behelfsmäßige Lösung:
die kategorie die ähnlich klingen könnte umbenennen! bzw. deren Alias umbenennen. danach in das verzeichnis cms/cache gehen und alle text-dateien in dem verzeichnis löschen!

ein lösungsansatz zur dauerhaften lösung wäre irgendwie eine max wert abfrage in den beiden funktionen die die kategorie liefert, dessen soundex wert am nächsten an dem übergebenen pfad liegt.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

und auch an offizieeller stelle dank für deinen support

es soll nicht unerwähnt bleiben ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
AlexUhde
Beiträge: 13
Registriert: Mi 6. Apr 2005, 13:04
Wohnort: Brisbane
Kontaktdaten:

Beitrag von AlexUhde »

Ich hab da leider auch ein kleines Problem...

Soweit funktioniert hier jetzt alles, leider wird jeder link so dargestellt:

http://neu.optimahaus.de/homepages/29/d ... ueber-uns/

und nicht
http://neu.optimahaus.de/ueber-uns/

woran kann das liegen?

habe in der
.htaccess:

Code: Alles auswählen

# achtung bitte basisverzeichnis anpassen!
RewriteBase /cms

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

Beitrag von stese »

in der config.php steht wohl der document root pfad.

öffne die config.php und ändere es auf den pfad aus sicht des webbrowsers in der die htaccess steht. (eigenschaft ist bei den modrewrite settings zu finden) also wenn die htaccess direkt im hauptverzeichnis (ohne unterverzeichnis) liegt, dann muss dort "/" stehen, wenn der komplette contenido inhalt UND die htaccess in einem unterverzeichnis liegt, muss der pfad zur htaccess zum unterverzeichnis gesetzt werden "/unterverzeichnis/"
AlexUhde
Beiträge: 13
Registriert: Mi 6. Apr 2005, 13:04
Wohnort: Brisbane
Kontaktdaten:

Beitrag von AlexUhde »

Danke für die Promte Antwort!
Es hat wunderbar geklappt.

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

Beitrag von stese »

ok, das neue bundle steht (wie auf post 1 beschrieben) zum download zur verfügung:

changelog:
- bugfixes hinzugefügt ( http://contenido.org/forum/viewtopic.php?t=10611 )
- problem mit kundenlogin (404 bei bestimmten situationen) wurde behoben.
- methoden zum restore der aliase wurden hinzugefügt

- wie immer die installations.txt lesen
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

und nun wurde auch der fehler von mvf und DiMiZu behoben. dass er falsche kategorien nimmt, sollte nicht mehr vorkommen. bundle steht aktualisiert bereit.

geänderte dateien insgesamt:
functions.general.php
class.modrewrite.php
front_content.php
front_crcloginform.inc.php
DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Beitrag von DiMiZu »

Super, vielen Dank!
MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount »

Hallo,

funktioniert super. Was ich aber nicht verstehe...

Auf Deiner Seite wird jedesmal /index.html dahintergestellt. Woher kommt das? Kann man bei Startartikeln nicht auch den Artikel-Alias ausgeben lassen?

Statt:
  • cms.domain.tld/punkt1/punkt1_1/
    cms.domain.tld/punkt1/punkt1_1/artikel2.html
    cms.domain.tld/punkt1/punkt1_1/artikel3.html
lieber
  • cms.domain.tld/punkt1/punkt1_1/startartikel1.html
    cms.domain.tld/punkt1/punkt1_1/artikel2.html
    cms.domain.tld/punkt1/punkt1_1/artikel3.html
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese »

ich habe mein eigenes navigationsmodul dass mir die url statt mit der idcat mit der idart ausgibt - daher wird bei mir auch der artikelname in der navigation angezeigt. mvf hatte meines wissens die standard navigation dahingehend angepasst dass es auch den artikel übergibt. suche mal im forum.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

stese hat geschrieben:ich habe mein eigenes navigationsmodul dass mir die url statt mit der idcat mit der idart ausgibt - daher wird bei mir auch der artikelname in der navigation angezeigt. mvf hatte meines wissens die standard navigation dahingehend angepasst dass es auch den artikel übergibt. suche mal im forum.
... und zusätlich im core eingestellt, dass nicht immer ' -- Standardartikel -- ' dort steht wenn man nichts eingibt, sondern automatisch 'index' ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Gesperrt