2016-05-19 17 views
0

Ich arbeite gerade an einer ONEPAGE in TYPO3 und sammle daher den gesamten Inhalt aller Unterseiten der Seite "Start", um sie zusammen auf der Seite "Start" auszugeben.Typo3 7.x: Wie werden alle Treffer auf Unterseiten einer Seite auf die Seite selbst umgeleitet?

Nun habe ich die Situation, dass wenn jemand die URL zu einer Unterseite der Seite "Start" kennt, dann diese Seite auf die normale Weise ohne Verbindung zum ONEPAGER ausgegeben wird, die ich nicht möchte.

Also, hat jemand eine Idee hat, wie alle Treffer auf eine Unterseite von „Start“ auf der Seite „Start“ selbst umzuleiten.

Ich weiß, dass dies mit .htaccess/Apache Rewrite erreicht werden kann, aber ich bin für eine allgemeine Lösung suchen, z.B. mit TYPO3 intern bedeutet.

Vielen Dank!

+0

Haben Sie eine Lösung gefunden? –

Antwort

0

Diese Frage hängt von Ihren Bedürfnissen ab. Es gibt mehrere Möglichkeiten, dies zu lösen.

1: Sie möchten eine Umleitung:

A) realURL Redirects im Info-Modul:

Es gibt einen Weg für genaue URLs innerhalb der TYPO3 Backend-Regeln schreiben umleiten. Es könnte nützlich sein, wenn ein Editor einige Freiheiten haben sollte, um diese Regeln festzulegen.

Vorteil: Ein Editor kann die Möglichkeit haben, die URLs zu setzen. Sie brauchen dafür keine Programmierung.

Nachteil: Sie haben keine regex, müssen Sie direkt jeweils Urls setzen. Wenn Sie einen Titel ändern, funktioniert die Weiterleitung nicht mehr.

Go in Info-Modul und wählen Sie in der Kopfzeile des „RealURL Management“ und nach der Anzeige des „Redirects“ -Option.

B) Verwendung von encodeSpURL_postProc und decodeSpURL_preProc in RealURLConfiguration.php.

Mit dieser Technik können Sie Ihr "incoming" und "outgoing" Urls manipulieren. Es wird verwendet, wenn Sie URLs verkürzen möchten.

Hier ist ein example, aber sicher können Sie mehr in Google finden.

Vorteil: Sie können flexible Regex-Regeln machen.

Nachteil: Sie müssen PHP-Code schreiben, und diese Logik wird von jedem abgehenden Verbindungen laufen, wenn Sie also eine Menge Links haben zu verwandeln ist es vielleicht nicht die schnellste Option zu wählen.

C) Sie schreiben zwei Zeilen in die .htaccess.

Der Punkt ist also, dass, wenn Sie haben eine klare Regel mehr Urls umschreibt und dauerhaft. Und wenn Sie Zugriff auf Ihre .htaccess-Datei haben, empfehle ich Ihnen dringend, sie zu verwenden.Wenn Sie nicht mehr als hundert oder tausend spezifische Weiterleitungen haben, ist dies der beste Ort, um Ihre Regel zu schreiben. Es läuft vor jedem PHP-Code, also ist es definitiv die schnellste Lösung.

Vorteil: Sie müssen nicht so viele Codes schreiben. Es ist der beste Weg, um mehrere URLs umzuleiten und die Leistung ist höher als jeder PHP-Code.

Nachteil: Nur wenn Sie keinen Zugriff auf die .htaccess-Datei haben, denn dann können Sie es nicht tun. Ansonsten ist es bei vielen Weiterleitungen besser, die Weiterleitungen in das httpd conf zu platzieren.

2: 404 für eine falsche URL.

Sie können die Seiten als "falsche URLs" wie www.yourpage.com/it_is_a_not_existing_page/ behandeln. Es wird empfohlen, eine 404-Seite zu haben, um diese Probleme zu behandeln.

In diesem Fall können Sie, wenn Sie die Teile von Ihrer Website auf die Startseite kopieren, die Seiten als ausgeblendet festlegen und dann einen 404-Fehler wie eine echte ungültige Anfrage auslösen.

Ich empfehle Ihnen, über die 404-Lösung nachzudenken, und wenn nicht, dann verwenden Sie. Htaccess.

+0

Hallo András, vielen Dank für Ihre vollständige Antwort mit mehreren Lösungen. Ich suchte nach einer Möglichkeit, das URL-Umschreiben automatisch zu erreichen, z. indem Sie in den Seiteneinstellungen ein bestimmtes Hintergrundlayout festlegen, das die Umleitung aller Unterseiten auf die Seite selbst auslöst. Ich vermute, dass Ihr zweiter Vorschlag (B) derjenige sein könnte, der die Chance hat, dies zu erreichen. Wenn ich Zeit habe, werde ich es versuchen. Danke noch einmal. – Steven