it-swarm.com.de

Entfernen Sie den Sprachcode aus der URL

Ich habe ein kleines Problem mit einer mehrsprachigen Website. Ich verwende FaLang, um Übersetzungen von 4 Sprachen ( Englisch, Spanisch, Französisch und Italienisch auf einer 3.3.6 Joomla-Installation mit Englisch wird als Standard Sprache der Site festgelegt.

Ich habe den "URL-Sprachcode entfernen" im Sprachfilter aktiviert. Beim Betrachten der Site in Englisch sieht meine URL so aus

www.example.com/company/contact.html

Und der Sprachumschalter zeigt die anderen Sprachen wie folgt an:

www.example.com/es/company/contact.html
www.example.com/fr/company/contact.html
www.example.com/it/company/contact.html

Mein Problem ist, dass wenn ich die Sprache in eine der anderen 3 ändere, meine englische URL im Sprachumschalter so aussieht:

www.example.com/en/company/contact.html

Wenn man auf den Link klickt, wird man mit einem 303 von .../en/... Nach .../... Umgeleitet.

Soweit ich weiß, ist das die Absicht von Joomla, aber ich möchte den /en/ Aus meinen englischen URLs entfernen, damit meine englischen URLs so aussehen, wenn meine Website in einer der Sprachen angezeigt wird:

www.example.com/company/contact.html

Ich benutze FaLangs Sprachumschalter, habe aber auch dieses "Problem" mit Joomlas eigenem Sprachumschalter/Übersetzungssystem.

Ich verwende keine SEF-Komponenten und habe keine gefunden, die das lösen könnten. Ich glaube, ich muss etwas am Core-Routing von Joomla ändern, aber leider weiß ich nicht, wo oder was.

Zugang wie gewünscht

RewriteRule ^en/(.*)$ http://www.example.com/$1 [R=301,L]
5
Epodax

Soweit ich weiß, was Sie wollen, ist das nicht möglich. Das/en/wird benötigt, damit Joomla weiß, dass Sie die Sprache ändern möchten. Denn mit www.example.com/company/contact.html würde Joomla in Ihrem Sprachcookie suchen und zur aktuell aktiven Sprache umleiten. Um die Sprache zu ändern, müssen Sie Joomla explizit mitteilen, dass Sie auf Englisch wechseln möchten. Sobald Englisch aktiv ist, sollten die Links ohne/en/sein.

3
Bakual

Momentan ist es nicht möglich, was Sie anfragen. Ich finde dieses Verhalten sehr ärgerlich und werde eine Pull-Anfrage an Joomla-Entwickler senden, um dies zu ändern.

In der Zwischenzeit können Sie die Umleitungsfunktion verwenden, um Ihre Seiten umzuleiten. Angenommen, Sie haben eine Seite httx: //yoursite.com/en/products.html, möchten jedoch die URL httx: //yoursite.com/products.html verwenden. Anschließend müssen Sie eine Umleitung erstellen URL in der Redirect-Erweiterung von /products.html nach /en/products.html. Das Schlimme ist, dass Sie dies für jede URL tun müssen, bei der Sie das Sprachsuffix entfernen möchten.

Ich denke auch, dass dies von Joomla automatisch berechnet werden sollte.

0
spacebiker