Setze den Hacken für den "Sprachen-Fallback" zum Test nicht im englischen sondern im deutschen Seitenbaum. Dann änderst den Seitenalias der Startseite in "beiden" Seitenmäumen auf index (also von domain/en/home.html auf domain/en/index.html bzw. domain/de/index.html) und dann sag uns ob sich etwas geändert hat.
Das geht nicht. Der Seitenalias ist wohl unique, denn es kommt folgende Meldung:Dann änderst den Seitenalias der Startseite in "beiden" Seitenmäumen auf index (also von domain/en/home.html auf domain/en/index.html bzw. domain/de/index.html)
"Der Alias "index" existiert bereits!"
Da es sich nicht um einen "No root page found" Fehler handelt und auch nix mit der Erweiterung "changelanguage" zu tun hat, sollte ich wohl besser ein eigenes Thema aufmachen, oder?
Wie sieht denn bei Dir die Seitenstruktur aus, das index bereits existiert?
Geändert von Birden (01.06.2012 um 14:05 Uhr)
Ok, wenn ich das so umsetze funktioniert alles wunderbar. Schade, ich hatte gehofft einen Fehler reproduzieren zu können, welchen ich derzeit auf meinem System habe.
Dann versuch ich den mal zu beschreiben, vlt. könnt ihr mir ja ja schnell weiterhelfen und es ist kein Bug.
Ich habe Contao 2.11.3 und changelanguage 2.0.3 stable. Ich habe zwei Seitenbäume.
Baum eins (DE) - Fallback - Alias (baum-de)
- Startseite - Alias (startseite)
- Info - Alias (info)
- Galerie - Alias (galerie)
Baum zwei (EN) - Alias (baum-en)
- Home - Alias (home)
- Info - Alias (info)
Folgendes Verhalten funktioniert:
Ich bin auf der deutschen Info Seite und wechsel durch den changelanguage auf die englische Info Seite.
Folgendes Verhalten funktioniert nicht:
Ich bin auf der deutschen Galerie Seite und drücke nun auf changelanguage. Es gibt keine passende englische Seite. Das erkennt changelanguage auch wunderbar. Denn der Link hinter dem englisch Button von changelanguage sieht so aus:
http://domain.de/en/baum-en.html
Aber ich komme auf dieser Seite leider nicht an. Es kommt "Page not found" und die Adresszeile hat sich zu folgendem verändert:
http://domain.de//home.html
Das System wollte mich also auf die englische Startseite umlenken, hat dabei aber leider das Sprachkürzel verloren. Würde in der Adresszeile "http://domain.de/en/home.html" stehen, wäre alles super.
Was läuft hier schief?
Konntet ihr den Fehler reproduzieren?
Für mich stellt es sich so dar, als sei das No-root-page-found-Problem ein Core-Problem und keines von change-language. In meinem Fall tritt es dann auf, wenn ich die Option "Die Sprache zur URL hinzufügen" aktiviere. Zwar kann ich die Meldung über den Sprachenwechsler schnell sichtbar machen, indem ich von der ersten Sprache zur Zweitspreche umschalte, aber genauso erscheint sie auch, wenn ich die Spracheinstellungen des Browsers verändere oder die URL einer Zweitsprachenseite manuell aufrufe.
Dabei ist noch nicht einmal ausschlaggebend ob es sich um die Fallbacksprache handelt. EN bleibt bei mir immer "ohne Root-Page", wohingegen DE immer funktioniert, egal wo ich den Fallback setze. Wie gesagt: alles nur bei "Die Sprache zur URL hinzufügen".
Der Fehler betrifft nicht nur changelanguage, sondern auch DomainLink und sicherlich noch weitere Extensions. Aber seit der 2.11.3 ist dieser Fehler ja behoben.
Geändert von tril (14.06.2012 um 07:12 Uhr) Grund: Falsche Versionsnummer angegeben
Ich hänge mich hier mal an.
Es gibt zu meinem Problem schon einen Thread: https://www.contao-community.de/show...669#post201669
Ich habe schon einige Mehrsprachige Webseiten erstellt, allerdings will es bei dieser einfach nicht klappen.
Das Problem: Wenn ich mich auf der deutschen Seite befinde und in changelanguage auf en gehe, dann funktioniert das wunderbar. Sobald ich allerdings einen Menüpunkt der englischen Seite wähle, lange ich wieder auf der deutschen Seite.
Die Einstellungen:
Deutsche Seite: Sprachen Fallback gesetzt
Englische Seiten: Fallback zur passenden deutschen Seite jeweils gesetzt.
Blende ich deutsch aus und habe somit nur noch die englische Seite funktioniert die Navigation einwandfrei.
URLs umschreiben ist aktiv. Und hier die .htaccess der Webseite:
Code:## # Contao Open Source CMS # Copyright (C) 2005-2011 Leo Feyer # # Formerly known as TYPOlight Open Source CMS. # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation, either # version 3 of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this program. If not, please visit the Free # Software Foundation website at <http://www.gnu.org/licenses/>. # # PHP version 5 # @copyright Leo Feyer 2005-2011 # @author Leo Feyer <http://www.contao.org> # @license LGPL ## <IfModule mod_deflate.c> ## # Use mod_deflate to compress JavaScript, CSS and XML files. Do not add # PHP and HTML files, because those have already been compressed by Contao. ## <FilesMatch "\.(css|js|xml)$"> SetOutputFilter DEFLATE </FilesMatch> </IfModule> <IfModule mod_headers.c> ## # Add a Vary Accept-Encoding header for the compressed resources. If you # modify the file types above, make sure to change them here accordingly. ## <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary Accept-Encoding </FilesMatch> </IfModule> <IfModule mod_expires.c> ExpiresActive On ## # Specify an expiration one week in the future for images, JavaScripts and # CSS files (as recommended by Google Page Speed). Edit or remove the lines # to set up your own expiration logic. ## ExpiresByType image/png A604800 ExpiresByType image/gif A604800 ExpiresByType image/jpg A604800 ExpiresByType image/jpeg A604800 ExpiresByType text/javascript A604800 ExpiresByType application/x-javascript A604800 ExpiresByType text/css A604800 </IfModule> <IfModule mod_rewrite.c> RewriteEngine On ## # Set the RewriteBase if your Contao installation is in a subdirectoy and # the rewrite rules are not working properly. Usage examples: # # RewriteBase /contao-2.9.0 # RewriteBase /path/to/contao # # Uncomment the following line to set the RewriteBase. ## RewriteBase / ## # Contao usually does not pass absolute URLs via GET, therefore the # following rules block all requests that try to pass a URL or the /etc/ # directory as parameter (malicious requests). ## RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC,OR] RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC] RewriteRule .* - [F,L] ## # Uncomment the following lines and replace "domain.com" with your domain # name to redirect requests without "www" to the correct domain. ## #RewriteCond %{HTTP_HOST} ^domain\.com [NC] #RewriteRule (.*) http://www.domain.com/$1 [R=301,L] ## # Do not rewrite requests for static files or folders such as style sheets, # images, movies or text documents. ## RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d ## # By default, Contao adds ".html" to the generated URLs to simulate static # HTML documents. If you change the URL suffix in the back end settings, make # sure to change it here accordingly! # # RewriteRule .*\.html$ index.php [L] # URL suffix .html # RewriteRule .* index.php [L] # No URL suffix # RewriteRule .*\.txt$ index.php [L] # URL suffix .txt # # If you are using mod_cache, it is recommended to use the RewriteRule below, # which adds the query string to the internal URL: # # RewriteRule (.*\.html)$ index.php/$1 [L] # # Note that not all environments support mod_rewrite and mod_cache! ## RewriteRule .*\.html$ index.php [L] </IfModule>
Wähle ich den den Einstellungen: Die Sprache zur URL hinzufügen -> No root page found bei der englischen Version...
Viele Grüße,
johndoe
@johndoe
schon gelesen? https://www.contao-community.de/show...l=1#post207094
2.11.3 ist installiert. Geht trotzdem nicht.
Viele Grüße,
johndoe
Hallo Tristan, jetzt wirds spannend:
Bei mir (Contao 2.11.2) in der Datei system/libraries/Controller.php in Zeile 699 stand die kurze Fassung
Nachdem ich die Bedingung wie von dir erwähnt ergänzt habe, ist das "No Root Page"-Problem behoben.PHP-Code:
elseif (TL_MODE == 'FE')
Es tauchen allerdings noch Probleme auf, wenn ich über den Sprachumschalter zur Startseite einer anderen Sprache wechsele. Da verlinkt changelanguage mit dem Startpunkt der gewünschten Sprache (erkennbar am Alias). Das Ergebnis ist dann dummerweise eine Weiterleitung auf die zugehörige erste Seite unter Auslassung des Sprachenkürzels à la domainname.com//home.html statt domainname.com/en/home.html.
Das Problem habe ich auch hier beschrieben: ... Sprachenwechsler-in-Verbindung-mit-angehängtem-URL-Parameter
Hi,
habe genau das selbe problem wie "johndoe"... Sobald ich im eglischen Baum navigiere, und einen link anklicke, will er die deutsche Seite aufrufen...
Zu sehen hier: http://oberbrunn.dyndns.org/it/i-pia...el-palato.html
Bei mir kommt aber "Page not found" weil die Seite ja nicht im "it" Seitenbaum deutsch ist...
Geändert von xkoy (19.06.2012 um 11:58 Uhr)
OMG meine Weiterleitungen der Hauptseiten (301) im "it" war noch auf "de".... peinlich.
Hallo,
ich nutze bei einem Projekt Contao Open Source CMS 2.11.2 und changelanguage und habe nicht
die Möglichkeit, auf 2.11.3 zu updaten.
ich habe deutsch als Hauptsprache und 3 zusätzliche Sprachen.
Der deutsche Seitenbaum ist mit Sprache "de" gekennzeichnet und als Fallback eingestellt.
Die Seitenbäume sind allesamt mit den jeweiligen deutschen Fallback-Seiten verknüpft.
Seitenalias sind entsprechend unterschiedlich zur deutschen Seite.
Sobald ich aber das Modul "changlanguage" irgendwie im Template unterbringe, wird die
gesamte Seite -> auch die deutsche -> nicht mehr gefunden, es folgt sofort der Fehler:
No root page found.
Auch eine manuelle Anpassung in Controller.php
elseif (TL_MODE == 'FE' && $objPage->type != 'root')
hatte keinen Erfolg.
Gibt es eine Workaround, wie ich auch ohne ein Update auf 2.11.3 das gelöst bekomme?
Danke
Mark
Warum kannst du kein Update machen?
terminal42 gmbh
Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle
Sagen wir mal so, das ganze wäre etwas umständlich - ich habe die Seite auf einem meiner Server gebaut, dann das komplette Paket an den Kunden gegeben und auf dessen Server habe ich keinen Zugriff.
Ich müsste also:
1. Die Daten von dort Anfordern
2. Datenbank Dump anfordern
3. alles bei mir einspielen
4. Update einspielen
5. Daten packen
6. Datenbank packen
7. Alles wieder hinschicken
8. der Kunde müsste es wieder einspielen + config anpassen
9. In der Zeit dürften keine Aktualisierungen stattfinden -> auch schlecht.
Machbar wäre es, aber es wäre mir lieber, wenn es anders ginge.
Mark
Oder eine Live-Update ID nehmen
http://www.inetrobots.com/contao-live-update.html
Für ein Maintenance-Update sehe ich da absolut kein Problem.
terminal42 gmbh
Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle
Hallo,
habe gerade auf Contao 2.11.4 geupdatet - das klappte auch ohne Probleme.
Changelanguage als Modul auch nochmal neu installiert - der Fehler "No root page found" bleibt aber trotzdem
Der eine Seitebaum ist als Hauptdomain mit Fallback gekennzeichnet - drei andere Seitenbäume nicht.
Hat noch jemand eine Idee, wie ich den Fehler beheben kann - mittlerweile drängt die Zeit etwas
Danke
Mark
Hat sich erledigt, ich musste changelanguage wirklich nochmal ganz deinstallieren und dann neu installieren - so klappt es.
Mark
Hallo Allerseits,
dann will ich mein ersten Post gleich mal hier einwerfen. Ich bin auch gerade über das No root page found Problem gestolpert. Ich habe jedoch eine leere Contao 2.11.11 Installation kann also alle Erweiterungen schon mal ausschließen.
Also habe ich nochmal alle Einstellungen geprüft und das Problem gefunden. Beim meiner Installation lag der Fehler daran dass ich in meiner Rootseit in den DNS-Einstellungen einen falschen Domainname eingetragen hatte.
Kann also der Domainname vom Server nicht aufgelöst werden, kommte es unter Anderem eben auch zu dem Fehler No root page found.
contao-dns.png
If in danger or in doubt, run in circles scream and shout!
@zzeroo
In diesem Fall ist die Meldung natürlich auch gewünscht und genau richtig. Trotzdem danke für den Hinweis, falls jemand das nicht weis und danach sucht ;-)
terminal42 gmbh
Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle
Zitat von zzeroo
http://de.contaowiki.org/No_root_page_found
Ich hatte das im Wiki schon ergänzt, jetzt ja sogar die Meldung auf Deutsch mit einigen Hinweisen.
Ich hatte das Problem beim meinem letzten Update von 2.9.5 auf 2.11.16 auch.
Die Seite ist mehrsprachig, läuft aber nur unter einer Domain, Changelanguage ist installiert, Fallback-Sprache ist Deutsch, Zweitsprache Englisch.
Beim Aufruf einiger deutschen Seiten im FE wurde mir dann "No root page found" angezeigt. Wenn ich changelanguage deaktiviert hab, konnte ich die Seiten aufrufen.
Was mir changelanguage nach dem Update nicht angezeigt hat (vielleicht auch nicht so ohne weiteres möglich), das für einige englische Seiten plötzlich keine deutsche Fallback-Seite mehr ausgewählt war. Das hab ich aber erst beim Seiten bearbeiten gesehen und nicht in der Seitenstruktur, in der changelanguage normalerweise schon die Meldung bei den betroffenen Seiten anzeigt. Also musste ich für diese Seiten die Fallback-Seite neu einstellen.
Trotzdem hatte ich eine Seite, die immer wieder den Fehler brachte, obwohl ich für die englische Seite die Fallback-Seite eingestellt hatte. Was da nur noch geholfen hat, war diese Seite in der Seitenstruktur zu kopieren und die alte zu löschen. Danach konnte ich die auch aufrufen.
Grüße
thepixture
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen