Htaccess: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(www. hinzufügen und entfernen)
Zeile 1: Zeile 1:
Mit der Erweiterung htaccess lässt sich die .htaccess Datei aus dem Backend heraus konfigurieren.
 
[[Kategorie:Extensions]]
 
{{ExtInfo
 
| Dev=Tristan Lins
 
| ExtVersion=2.0.0
 
| Version=2.9+
 
| ERLink=http://www.contao.org/erweiterungsliste/view/htaccess.de.html
 
| TrackerLink=http://contao-forge.org/projects/htaccess
 
| Depending=[http://de.contaowiki.org/MultiColumnWizard MultiColumnWizard]
 
}}
 
 
=.htaccess Editor=
 
 
Der .htaccess Editor erlaubt es die .htaccess Datei aus dem Backend heraus zu bearbeiten.
 
Damit ist jedoch kein einfacher Code-Editor gemeint, sondern eine dynamische Konfiguration der .htaccess Datei.
 
 
Der Editor erlaubt die Konfiguration aller wichtigen Funktionen durch die Bearbeitungsmaske.
 
 
==Installation==
 
 
Die Installation erfolgt einfach über den Erweiterungskatalog/die Erweiterungsverwaltung. Der Name der Erweiterung ist '''htaccess'''.
 
 
[[Datei:htaccess_editor.png|frame|center]]
 
 
Nach der Installation ist im Backend und System ein neuer Menüpunkt '''.htaccess Editor''' zu finden. Es empfiehlt sich, nach der Installation zuerst einige Voreinstellungen zu laden, zur Verfügung stehen '''contao''' mit den Contao Standardeinstellungen (wie in .htaccess.default) und '''html5boilerplate''' welches ein Misch aus wichtigen Contao Einstellungen und html5boilerplate Einstellungen ist.
 
 
[[Datei:htaccess_settings.png|frame|center]]
 
 
==Versionierung==
 
 
Ab Version 2.0.0 rc2 werden die vorherigen Versionen gespeichert. Diese können über das Feld '''Vorherige Version laden''' wiederhergestellt werden. Die Versionen werden unter <code>system/config/htaccess.<timestamp>.php</code> gespeichert.
 
 
[[Datei:htaccess_previous_versions.png|frame|center]]
 
 
==Templating==
 
 
{{Achtung|Seit der RC3 gibt es keine unterschiedlichen Templates (contao und h5bp) mehr.}}
 
 
Der gesamte Editor baut die .htaccess Datei aus Templates zusammen. Durch modifizieren der Templates kann die .htaccess Datei individuell angepasst werden. Die Templates beginnen mit ''htaccess_'', gefolgt von dem Modulnamen z.B. ''htaccess_deflate''. Eine besonderheit ist das ''htaccess_base'' Template, dieses stellt das Grundgerüst für die .htaccess Datei bereit. Eigene Templates müssen direkt im <code>templates/</code> Verzeichnis der Installation abgelegt werden.
 
 
==Konfiguration==
 
 
Seit Version 2.0.0 rc2 wird eine eigene Konfigurationsdatei erstellt. Anstelle die Einstellungen in der <code>system/config/localconfig.php</code> zu speichern, wird eine Datei <code>system/config/htaccess.php</code> erzeugt.
 
Verwaltet wird diese Datei über die Klasse <code>HtaccessConfig</code>. Wenn die Konfiguration mittels einer Extension verändert werden soll, muss also diese Klasse verwendet werden und '''nicht''' die <code>Config</code> Klasse.
 
Die <code>HtaccessConfig</code> kann als drop-in-replacement zur <code>Config</code> Klasse verwendet werden, so wird es bspw. in dem eigenen DC_File Treiber gemacht.
 
 
<source lang="php">
 
class MyClass extends System
 
{
 
  /**
 
  * @var HtaccessConfig
 
  */
 
  $Config;
 
 
  public function __construct()
 
  {
 
    $this->import('HtaccessConfig', 'Config');
 
    parent::__construct();
 
  }
 
}
 
</source>
 
 
==Die Module==
 
 
===Auth Modul===
 
 
[[Datei:htaccess_auth.png|frame|center]]
 
 
Mit dem Auth Modul kann der Zugriff auf die Installation mittels HTTP Authentifizierung beschränkt werden.
 
 
===ETag Modul===
 
 
[[Datei:htaccess_etag.png|frame|center]]
 
 
Das ETag Modul hat eigentlich nur eine Aufgabe, die ETags zu deaktivieren.
 
Da die ETags in Contao überhaupt nicht unterstützt werden, gibt es hier keine weiteren Einstellungen.
 
 
===MIME Modul===
 
 
[[Datei:htaccess_mime.png|frame|center]]
 
 
Mit dem MIME Modul lässt sich kontrollieren, welchen MIME Type und welches MIME Encoding der Webserver an den Browser schickt. Damit kann das Verhalten des Browsers beeinflusst werden.
 
 
===Deflate Modul===
 
 
[[Datei:htaccess_deflate.png|frame|center]]
 
 
Das Deflate Modul komprimiert den Response live mit gzip, so dass weniger Daten übertragen werden müssen. Dies macht aber meistens nur für Text-Inhalte (HTML, CSS, JavaScript) Sinn, bei Binärdaten (Bilder, Videos) kann es sogar zu einer Vergrößerung der Datenmenge kommen.
 
 
Hier kann eingestellt werden, welche Dateien durch Deflate komprimiert werden sollen.
 
 
===Expires Modul===
 
 
[[Datei:htaccess_expires.png|frame|center]]
 
 
Das Expires Modul setzt die Verfallszeit für Dateien und bestimmt so, wann ein Browser die Datei aktualisiert.
 
 
===Custom Modul===
 
 
[[Datei:htaccess_custom.png|frame|center]]
 
 
Das Custom Modul dient dazu, eigene Regeln in die .htaccess Datei zu bringen. Über das Custom Modul kann jeder beliebige Code in die .htaccess Datei gebracht werden.
 
 
===Rewrite Modul===
 
 
[[Datei:htaccess_rewrite.png|frame|center]]
 
 
Das Rewrite Modul kontrolliert die Rewrite Regeln. Es lassen sich eigene Regeln anlegen oder aber dynamische Regeln erzeugen lassen. Bspw. für Domains mit und ohne "www.". Auch der Pfad Suffix .html lässt sich hier ändern.
 
 
 
====www. hinzufügen und entfernen====
 
====www. hinzufügen und entfernen====
  
Zeile 124: Zeile 15:
  
 
{{Hinweis|Es werden nur Favicons auf den Startpunkten unterstützt!}}
 
{{Hinweis|Es werden nur Favicons auf den Startpunkten unterstützt!}}
 
===html5boilerplate Features===
 
 
[[Datei:htaccess_h5bp.png|frame|center]]
 
 
'''Apache MultiView deaktivieren''' sorgt dafür, dass Aufrufe wie z.B. /index.php/blog.html nicht mehr möglich sind. Apache wirft dann einen 404 Fehler.
 
 
'''Apache Indexes deaktivieren''' sorgt dafür, dass Apache die Verzeichnisinhalte nicht mehr auflistet, wenn keine Index Datei vorhanden ist.
 
 
'''Neueste IE Engine erzwingen''' bewirkt, dass der Browser nicht in den Kompatibilitätsmodus wechselt, sondern die neueste IE Engine zum Rendern verwendet.
 
 
'''Cross-Domain AJAX Requests''' erlaubt AJAX Requests über verschiedene Domains. Kann im Multi-Domain Betrieb nützlich sein.
 
 
'''Includes in CSS/JS Dateien erlauben''' erlaubt die Nutzung von Server-Side-Includes in *.combined.css/js Dateien. Details dazu sind der [https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess#L111 html5boilerplate .htacces Beispieldatei] zu entnehmen.
 
 
'''IE Flimmern bei CSS rollover verhindern''' bewirkt, dass beim Nachladen von Grafiken die durch ein CSS rollover entstehen können kein Flimmern (kurzes verschwinden des Hintergrundes) entsteht.
 
 
=Troubleshooting=
 
 
Was kann man tun, wenn man sich mit dieser Erweiterung die .htaccess Datei zerstört hat und der Apache nur noch einen '''500 Internal Server Error''' liefert?
 
 
'''1. Fehler analysieren''', für eine erfolgreiche Fehlerbehebung ist es von Vorteil, wenn man sich die generierte .htaccess Datei ansieht. Wenn man dort nichts findet, empfiehlt sich ein Blick in das error.log des Webservers. (Wo dieses Log abgelegt wird, ist von Anbieter zu Anbieter unterschiedlich)
 
 
'''2. .htaccess löschen''', da es sich bei dem '''500 Internal Server Error''' um einen Webserver-Fehler handelt, kann man leider von Contao-Wegen nichts mehr machen, hier hilft nur das löschen - oder korrigieren - der fehlerhaften .htaccess Datei.
 
 
'''3. Erweiterung aktualisieren''', eventuell wurde noch eine alte, fehlerhafte Version der Erweiterung verwendet. Daher empfiehlt es sich, dass man - bevor man die Datei neu generieren lässt - zuerst überprüft, ob es eine Aktualisierung gibt.
 
 
'''4. Einstellungen überprüfen''', jetzt gilt es, die Fehlerhaften Einstellungen im Backend zu korrigieren.
 
 
'''5. Datei neu generieren''', beim Speichern der Einstellungen wird die .htaccess Datei neu generiert, wenn diesmal alles richtig ist, wird kein '''500 Internal Server Error''' mehr entstehen. Sollte dies wieder der Fall sein, muss wieder bei Schritt 1 begonnen werden.
 

Version vom 1. Juli 2012, 09:33 Uhr

www. hinzufügen und entfernen

Die Option www. hinzufügen bewirkt, dass Domains die in der Seitenstruktur mit www. angelegt wurden so umgeschrieben werden, dass von der Domain ihre-domain.de auf www.ihre-domain.de umgeleitet wird. (Vorausgesetzt example.com ist nicht als eigener Startpunkt eingetragen). Tragen Sie dafür einfach in der Seitenstruktur im "Startpunkt der Website" unter Domain www.ihre-domain.de ein.

Die Option www. entfernen bewirkt, dass Domains die in der Seitenstruktur ohne www. angelegt wurden so umgeschrieben werden, dass von der Domain www.ihre-domain.de auf ihre-domain.de umgeleitet wird. (Vorausgesetzt www.ihre-domain.de ist nicht als eigener Startpunkt eingetragen). Tragen Sie dafür einfach in der Seitenstruktur im "Startpunkt der Website" unter Domain ihre-domain.de ein.


Hinweis.png Hinweis: Beide Optionen lassen sich auch kombinieren!


favicon.ico Umschreiben

(seit Version 2.1)

Ältere Browser - unter anderem IE <= 8 - kommen mit dem Meta Element <link rel="icon" type="image/vnd.microsoft.icon" href="path/to/favicon.ico" /> nicht klar und zeigen kein Favicon an. Dieses Feature legt Rewrite Regeln für die unterschiedlichen Startpunkte an, so dass beim Aufruf von www.example.com/favicon.ico die eingerichtete Favicon Datei angezeigt wird. Zur Zeit werden Favicons unterstützt, die mit den Erweiterungen Favicon oder myfavicon eingerichtet werden.


Hinweis.png Hinweis: Es werden nur Favicons auf den Startpunkten unterstützt!
Ansichten
Meine Werkzeuge

Contao Community Documentation

IRC -> einziger fortlaufend sich selbst aktualisierender Comic.

Tristan Lins
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge