Inhaltsverzeichnis

Apache

~/public_html aktivieren (ab Ubuntu 10.04)

Um benutzerspezifische Webseiten im Homeverzeichnis mit PHP zu aktivieren, müssen in /etc/apache2/mods-available/php<VERSION>.conf die folgenden Źeilen auskommentiert werden:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

Danach muss das Modul aktiviert und der Apache neu gestartet werden:

sudo a2enmod userdir &&
sudo /etc/init.d/apache2 reload  

mod_rewrite aktivieren

Standardmäßig ist mod_rewrite deaktiviert. Folgendermaßen wird es aktiviert:

sudo a2enmod rewrite &&
sudo service apache2 restart

Alle Zugriffe verschlüsselt

Um alle Zugriffe verschlüsselt über SSL abzuwickeln, folgendes in die .htaccess eintragen:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Kanonische URLs

Um kanonische URLs, d.h. immer ohne oder mit www zu erzwingen, folgendes in die .htaccess eintragen:

Umleitung von www zu nicht-www

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Umleitung von nicht-www zu www

RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L]

oder

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+)$ [NC]
RewriteRule ^(.*)$ http://www\.%1/$1 [R=301,L]

Unterschiedliche Inhalte verschlüsselt/unverschlüsselt

Sollen (einzelne) Inhalte verschieden sein, je nachdem ob der Zugriff verschlüsselt oder unverschlüsselt erfolgt, kann dies so einem Eintrag in der .htaccess erreicht werden. Hier am Beispiel der Datei robots.txt:

RewriteCond %{HTTPS} on
RewriteRule ^robots\.txt$ robots_ssl.txt [L]