[TYPO3-german] [OT und auch nicht] mod-rewirte, Pfad-Segment ausschneiden

Stephan Schuler Stephan.Schuler at netlogix.de
Mon Oct 7 16:12:58 CEST 2013


Hallo zusammen.


Ich glaube hier liegt ein grundlegendes Verständnisproblem vor.

Weiterleitungen sollten nach Möglichkeit nicht in RealURL sondern in .htaccess implementiert werden, um den PHP-Prozess zu sparen. Jeder PHP-Prozess braucht ein paar MB RAM und ein paar CPU-Zyklen. Wenn der Server anständig konfiguriert ist, dann ist die Anzahl der gleichzeitig aktiven PHP-Prozesse so limitiert, dass wenn alle PHP-Prozesse gleichzeitig mit der maximalen RAM-Zuteilung arbeiten trotzdem der im System verbaute Arbeitsspeicher nicht derart überschritten wird dass es zu Problemen kommt. Wie genau das zu definieren ist darf sich jeder selbst überlegen.
Deshalb ist auf einem Server häufig die Anzahl der gleichzeitig aktiven PHP-Prozesse begrenzt, sodass eine häufig aufgerufene Weiterleitung per PHP die wertvollen Prozesse unnötig blockiert.
Dazu kommt natürlich die Tatsache dass PHP wenn es erst in der Datenbank nachfragen muss sicherlich langsamer und/oder CPU-hungriger ist als eine Weiterleitung per .htaccess

Deshalb gilt: Weiterleitungen soweit möglich via .htaccess machen, nicht per PHP.

Auf der anderen Seite ist das URL-Building. Das wiederum muss mit mod_rewrite zusammenspielen damit die URL auch wieder aufgelöst werden kann.
Wenn ich das Pfadsegment "LegalLine" nun ausklammern möchte, dann geht das schlicht nicht, ohne dass RealURL das auch weiß. Natürlich kann ich per mod_rewrite "/imprint.html" per auf "legalline/imprint.html" umschreiben und RealURL beim decodieren so vorgaukeln, dass das Pfadsegment enthalten ist. Beim encodieren (also beim Erzeugen der Links, z.B. im Menü oder im Footer oder in der Sitemap) wird RealURL aber trotzdem den Link "legalline/imprint.html" erzeugen. Und dann ist mod_rewrite vollkommen aus dem Spiel, weil mod_rewrite kein "contentPostProcessing" des Outputs durchführt sondern nur Requests umschreibt.
Die Idee, ein Pfadsegment per mod_rewrite zu verstecken ist schlicht nicht umsetzbar.

Einen Performanceaspekt gibt es aus meiner Sicht nicht. Ob RealURL eine Ebene im Seitenbaum, zwei oder fünf aus dem MySQL-Server holt dürfte relativ egal sein. Wenn URLs zum decoding im Decode-Cache stehen ist das noch viel weniger wichtig.


Deshalb: Ein Pfadsegment verstecken bitte über den beschriebenen Weg: Checkbox in der Seite "Exclude from Speaking-URL path segment" aktivieren.


Gruß,


Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Website: media.netlogix.de



--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: info at netlogix.de | Internet: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Marco Brüggemann
Gesendet: Montag, 7. Oktober 2013 15:53
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] [OT und auch nicht] mod-rewirte, Pfad-Segment ausschneiden

Danke Peter,
Deine Erklärung leuchtet mir ein .. ich guck mal nach wie ich das umsetzen kann.

Am 07.10.2013 15:48, schrieb Peter Linzenkirchner:
> Hallo Marco,
>
> ich mache das normalerweise so, dass ich in den Seiteneigenschaften des Systemordners die Option "Nicht in sprechende URL aufnehmen:" aktiviere. Dann lässt RealURL diese Ebene einfach weg. Man muss dann nur darauf achten, dass sich keine Seite in dem Menü befindet, die es mit dem gleichen Namen auch im Seitenbaum darüber gibt.
>
> RealURL muss die Links sowieso konvertieren, ich denke nicht, dass dadurch das System stärker belastet wird. Ausserdem müssen die Links in RealURL nur einmal konvertiert werden, und landen danach im Cache; Eine htaccess-Weiterleitung wird dagegen immer aufgerufen, wenn ein Besucher die Seite aufruft. Ich denke, was du gelesen hast, bezieht sich nur auf Weiterleitungen (Redirects) durch RealURL.
>
> Gruß
> Peter
>
> Am 07.10.2013 um 15:27 schrieb Marco Brüggemann <marco at schauart.de>:
>
>> Hallo,
>>
>> ich finde es eigentlich nicht "offtopic", da sicher viele Problem haben:
>>
>> Ich habe für ein Menü einen Systemordner "LegalLine"angelegt: AGB, Impressum, Kontakt.
>>
>> Nachdem ich jetzt RealURL installiert habe, werden diese Seiten in der URL so ausgegeben:
>>
>> www.MeineDomain.de/LegalLine/Impressum.html
>>
>> ich hätte gerne diese URL
>>
>> www.MeineDomain.de/Impressum.html
>>
>> Es gibt dabei scheinbar zwei Ansatzpunkte:
>> einmal die Einstellung in RealURL (Konfigurationsdatei) und die
>> Einstellung in .htaccess mit einem RewriteRule
>>
>> Ich habe gelesen, dass die Einstellung in RealURL das System
>> belastet, also versuche ich mit einem RewriteRule
>>
>> Weiss jemand von euch, wie man ein Stückchen Pfad aus der URL am besten entfernt?
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> --
> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
> Web: http://www.typo3-lisardo.de
> Facebook: http://tinyurl.com/lisardo-multimedia
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list