SEO Urls nur in Kleinbuchstaben

Hallo!

In der oxseoencoder.php kann man ja durch return strtolower($sSeoUrl); errreichen, dass alle URLs nur in Kleinbuchstaben ausgegeben werden.

Ich habe jetzt an den 6 Stellen in der .php Datein die Stellen modifiziert, läuft auch alles auf den ersten Blick.

Meine Frage, ob das irgendwelche Einschränkungen haben kann im Oxid Shop, also ob es an irgendwelchen Stellen Shop-Intern vielleicht auf groß / und kleinschreibung ankommt.

Vorlage war dafür http://blog.tabsl.eu/programmierung/oxid-eshop-seo-urls-in-kleinbuchstaben/ , aber das ist ja nicht mehr aktuell.

Freue mich über Antworten :slight_smile:
Niklas

Hi,

ich hab’s mit einem mySQL-Trigger BEFORE UPDATE gelöst

BEGIN
Set new.OXSEOURL = lcase(old.OXSEOURL);
END

Grüße,
Achim

PS: Ich halte gerne jede unnötige Arbeit von den Oxid-Objekten fern :slight_smile:

IMHO sollte das eigentlich eine Einstellung unter Admin SEO sein (alles in Kleinbuchstaben) …

http://blog.tabsl.eu/programmierung/oxid-eshop-seo-urls-in-kleinbuchstaben/
http://www.happywebsites.de/kleinschreibung-seo-url-oxid-shops.html

Hi,

leider gibts in 4.5.0 immer noch keine Möglichkeit die URLs in Kleinschreibung darzustellen.
Ich habe die Methode mit den Triggern versucht. Das hat super funktioniert. Aber jetzt habe ich das Problem das bei einige Produkten dieser Umleitungs fehler auf:

Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

Meine Frage ist, kann das mit den SQL Triggern zusammenhängen.
Mir ist auch aufgefallen, daß die MD5 Summe in der oxseo bei diesen Artikeln nicht stimmt.
Seltsam ist, daß dieses Problem nur bei ca. 10% der Artikel auftaucht. Der Rest funktioniert tadellos.

Hier ist der Inhalt meiner htaccess:

<IfModule mod_rewrite.c>

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

RewriteCond %{REQUEST_URI} oxseo.php$
RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
RewriteRule oxseo.php$ oxseo.php?mod_rewrite_module_is=on [L]

RewriteCond %{REQUEST_URI} !(/admin/|/core/|/export/|/modules/|/out/|/setup/|/tmp/|/views/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !(.html|/|.jpg|.css|.pdf|.doc|.gif|.png|.js|.gz)$ %{REQUEST_URI}/ [R=301,L]

RewriteCond %{REQUEST_URI} !(/admin/|/core/|/export/|/modules/|/out/|/setup/|/tmp/|/views/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.html|/)$ oxseo.php

</IfModule>

disabling log file access from outside

<FilesMatch “(EXCEPTION_LOG.txt|.log$|.tpl$|pkg.rev)”>
order allow,deny
deny from all
</FilesMatch>

Options -Indexes
DirectoryIndex index.php index.html

Hat jemand Erfahrung mit den SQL Triggern? Können die Umleitungsfehler daher kommen? Bin für jede Hilfe dankbar!

ok, natürlich muss man auch die MD5 Summe in OXIDENT an die neuen URLS anpassen… dazu hab ich jetzt die Trigger angepasst…
Falls es wem hilft:

Before Insert:

DROP TRIGGER IF EXISTS cleannewseourl//
CREATE TRIGGER cleannewseourl BEFORE INSERT ON oxseo
FOR EACH ROW BEGIN
SET NEW.OXSEOURL = lcase(NEW.OXSEOURL);
SET NEW.OXIDENT =
MD5(NEW.OXSEOURL);
END
//


Before Update

DROP TRIGGER IF EXISTS cleanupdateurls//
CREATE TRIGGER cleanupdateurls BEFORE UPDATE ON oxseo
FOR EACH ROW BEGIN
SET NEW.OXSEOURL = lcase(OLD.OXSEOURL);
SET NEW.OXIDENT = MD5(lcase(OLD.OXSEOURL));
END
//

Falls ich irgendwas übersehen habe, gebt bitte Bescheid.