UTF-8 string - SEO URL

Ich habe ein technisches Problem, welche dazu führt, das neue Artikel im Shop nicht mehr angezeigt werden, da neuen Artikeln vom OXID eine falsche URL zugewiesen wird.
Nach 12h Fehlersuche mit professioneller Unterstützung wende ich mich nun an die Community.

Seit 2 Tagen erhält jeder neu Artikel eine kryptische SEO URL (Artikel / SEO) in der Form “-oxid-2123” anstatt “Kategorie/Name”.
Beispiel:
normal: http://domain/musik/cd/cd1
neu: http://domain/-oxid-212

Im Admin wird “-oxid-2123” im Artikel als SEO URL angezeigt, was nicht normal ist und auch nicht so eingestellt wurde.
Eine Änderung der SEO URL IST NICHT MÖGLICH! Nach Änderung und klick auf “Speichern” wird wieder die falsche URL “-oxid-2123” angezeigt.

Im Frontend werden Artikel in der Listenansicht angezeigt, jedoch beim Klick in die Detailansicht ist der Artikel (http://domain/-oxid-212) nicht zu finden.

Im Frontend wird beim Aufruf der alten Domain: http://domain/musik/cd/cd1 folgender Fehlercode ausgegeben:
“Warning… invalid UTF-8 string…domain/core/oxstrmb.php on line 215”

Hinweise:

Nach erfolgloser Fehlersuche im Shop wurde folgendes im error_log vom Apache Webserver gefunden:

[Wed Oct 12 07:44:39.512879 2016] [fcgid:warn] [pid 15509] [client 194.139.249.26:51331] mod_fcgid: stderr: PHP Warning: preg_replace(): Compilation failed: invalid UTF-8 string at offset 309 in /var/www/vhosts/s18324658.onlinehome-server.info/oi-punk.com/core/oxstrmb.php on line 215 …

Es fand am Tag vor dem ersten Fehler eine automatische Reparatur der Tabelle das DG Amazon Moduls statt, da das Modul zu einer Fehlermeldung und nicht Erreichbarkeit des Shops führte, jedoch wurden keine Dateien geändert.

Die Einstellungen im SEO Bereich unter Stammdaten/ Grundeinstellungen sind normal, unverändert. Wenn man dort auf “SEO URL neu berechnen klickt”, dann bekommen alle Artikel im Shop falsche URL zugewiesen und es ist im Shop KEIN Artikel mehr in der Detailansicht zu sehen (nur noch Listenansicht).

Die Einstellung aller Module sind überprüft wurden, es fanden im Zeitraum auch keine Änderungen statt.

Kann mir jemand helfen bzw. hat Hinweise um was es sich handeln könnte?

Mark

OXID 4.8.12

Hallo Mark,

da habt Ihr Euch aber schön was kaputt gemacht…
Das “-oxid” bzw. die Nummer dahinter wird standardmässig angehängt, wenn ein Artikel mit dem gleichen Titel mehrfach vorhanden ist. Da bei Euch weder die Kategorie noch der Artikelname in der URL zu sehen ist, hat wohl jemand am SEO Encoder rumgebastelt. Lasst mal eine oxchkversion drüber laufen.

Gruß

Hallo Marco,

danke für Deinen Hinweis! An Dateiänderungen kann es nicht liegen, da keine Dateien geändert wurden.
Welche Dateien könnten genau betroffen sein?

Wir vermuten den Fehler in der Datenbank.

Mark

steht was in der EXCEPTION_LOG.txt ?
ist ein Modul im Einsatz, das oxseoencoderarticle.php erweitert?

PS kann es sein, dass in der Tabelle oxarticles die Kollation geändet wurde?

sehe gerade im Shop, dass fast durchgängig in der Kategorie ‘Musik’ Anführungszeichen ( " ) verwendet werden. Also tippe mal auf Kollations-Mix

Hallo Patchwork,

danke für den Tipp!

Das EXCEPTION_LOG.txt wirft leider nichts aus, wenn den Fehler auftritt.
Ich habe eben einen Artikel im Backend einfach ohne Änderung gespeichert, was eine Aktualisierung zur Folge hatte. Daraufhin wurde die URL wieder in “-oxid-…” geändert und der Artikel ist im Frontend nicht mehr zu finden.
Die EXCEPTION_LOG.txt sah hinterher genauso aus, wie vorher.

Ich nutze seit 1 Jahr die SEO Suite von Volker Dörk. Herr Dörk sucht seit ein paar Stunden auch schon nach der Fehlerursache. Er findet sie auch nicht.

Bislang sind alle der Meinung: an Dateien wurden keine Änderungen vorgenommen. Die SEO Module wurde auch schon “durchleuchtet”.

Mark

Die Zeichen " und ’ im Artikelnamen nutzen wir aber schon seit 1,5 Jahren. daran kann es eigentlich nicht liegen, dass der Shop von heute auf morgen solche Fehler hervorbringt! oder?

Mark

[QUOTE=bandworm;183212]Die Zeichen " und ’ im Artikelnamen nutzen wir aber schon seit 1,5 Jahren. daran kann es eigentlich nicht liegen, dass der Shop von heute auf morgen solche Fehler hervorbringt! oder?

Mark[/QUOTE]

lösch einfach mal zum Testen diese Sonderzeichen im Titel. Wird die Seo-Url aufgebaut?

Meine Testartikel hatte keine Sonderzeichen im Artikelnamen.
Wenn der Shop alle URL neu generiert (Stammdaten / Grundeinstellung / SEO) dann werden auch ALLE Artikel mit kryptischen URLs versehen.
Daran kann es wirklich nicht liegen!

OK, aber irgendwoher kommt ja diese Meldung:

[QUOTE=bandworm;183190]

“Warning… invalid UTF-8 string…domain/core/oxstrmb.php on line 215”

[Wed Oct 12 07:44:39.512879 2016] [fcgid:warn] [pid 15509] [client 194.139.249.26:51331] mod_fcgid: stderr: PHP Warning: preg_replace(): Compilation failed: invalid UTF-8 string at offset 309 … [/QUOTE]

ggf. ist dieser Müll schon der DB-Tabelle …

Entweder das oder tatsächlich geänderte Dateien. Mich würden schon die Ergebnisse der oxchkversion interessieren, hierher kopiert :wink:

Gruß

Hallo Marco,

wir haben einen neuen Testshop aufgesetzt, der problemlos läuft.

Mir fiel noch auf, dass sich in diesen beiden DB die Dateien “opt.db” unterscheiden. Darüber werden einige DB Eigenschaften definiert.

Im jetzt produktiven Shop steht drin:
default-character-set=utf8
default-collation=utf8_general_ci

Im Testshop steht drin:
default-character-set=latin1
default-collation=latin1_general_ci

Weiß ein Profi im Forum, ob da die Ursache liegen kann?

Ob wir mal zum Test umswitchen?

Oxchkversion-Ausgabe

Zusammenfassung

OK 0
Geändert 0
Versionsungleichheit 0
Unbekannt 0
Anzahl der insgesamt überprüften Dateien: 4702

Dieser OXID eShop wurde nicht verändert und ist original

[QUOTE=bandworm;183249]Oxchkversion-Ausgabe

Zusammenfassung

OK 0
Geändert 0
Versionsungleichheit 0
Unbekannt 0
Anzahl der insgesamt überprüften Dateien: 4702

Dieser OXID eShop wurde nicht verändert und ist original[/QUOTE]

wieso OK = 0 ?
-> hier müßte doch ca. 1500 stehen!
wieso Unbekannt = 0 ?
-> es sind doch externe Module im Einsatz …

Darf ich an dieser Stelle die Auflösung präsentieren?

Am Tag vor erstmaligem Auftreten des Bug wurde ein neues Verzeichnis im Hauptordner des Shopverzeichnisses auf dem Webserver erstellt, wo im Namen ein Sonderzeichen enthalten war.

Also der Shop ist auf UTF8 eingestellt, aber man darf als Ordnernamen keine Sonderzeichen verwenden.

Ist das ein Bug oder Keinbug?

Hallo @bandworm,

erst einmal vielen Dank für die Rückmeldung!
Keinbug deshalb, weil man als versierter Dev-Op natürlich weiss, dass Sonderzeichen in Ordner- und Dateinamen problematisch sein können. Das hat m.E. wenig mit der Anwendung zu tun, zumal die Systemvoraussetzungen klar festgezurrt sind.

Gruß

…und möglichst auch die 8.3 Schreibweise einhalten!?

Hi Marco,

ich bin der Bösewicht, der den Ordner angelegt hat :stuck_out_tongue:

[QUOTE=Marco Steinhaeuser;183722]Keinbug deshalb, weil man als versierter Dev-Op natürlich weiss, dass Sonderzeichen in Ordner- und Dateinamen problematisch sein können.[/QUOTE]

Keine Ahnung, was ein Dev-Op in diesem Zusammenhang ist. Aber Ende 2016 sollte man als Dev (a.k.a. Entwickler) in der UTF Gegenwart angekommen sein - auch wenn die ASCII Zeiten nett waren :wink:

Ein “ü” in einem Ordnernamen darf nicht dazu führen, dass ein unbescholtener FTP User zum Hacker avanciert, der einen Oxid Shop komplett lahmlegen kann. Das perfide daran ist, dass sich der Ausfall schleichend über mehrere Tage erstreckt. Da ist der Verursacher über alle Berge…

Punkt 2 des Keinbug-Komplex ist:

Was hat eigentlich die Ordnerstruktur (sprich “Dateisystem”) mit dem Bau von SEO URLs zu tun, deren Daten (Kategorien, Artikel, …) doch ausschliesslich aus der Datenbank kommen?

[QUOTE=Marco Steinhaeuser;183722]…, zumal die Systemvoraussetzungen klar festgezurrt sind.[/QUOTE]

“Nie sollst du Ordner [mit Umlauten] anlegen” ??

Wo ist das festgezurrt?

Hi @lexa,

fühl Dich bitte nicht gegen’s Knie gepinkelt. Wichtig ist hier im Forum, dass ein Problem gelöst wird, was eigentlich vom arbeiten abhält. Und das ist ja in diesem Fall prima passiert :wink:

Ich arbeite mittlerweile schon recht lange unter Linux - strikt UTF-8 sowohl auf dem Desktop wie auch auf Servern - und weiss, dass es immer noch, auch in 2016, Probleme in der Interoperabilität zwischen den verschiedenen Betriebssystemen geben kann. Ich persönlich habe mir deshalb angewöhnt, Dateien und Ordner möglichst unter Umgehung jeglicher Sonderzeichen anzulegen.

Der Shop läuft aktuell unter verschiedenen Serverumgebungen. In den Systemvoraussetzungen wird Apache, PHP und MySQL erwartet, was eigentlich nach einem LAMPP-System schreit.

Gruß