# Apache vhost pour alpinux.org (page d'accueil)
# À créer via ISPConfig : Sites > Ajouter un site web
# Domaine : alpinux.org + www.alpinux.org | DocumentRoot : /var/www/clients/client1/web1/web
#
# Ce vhost gère également la migration SEO depuis l'ancienne infra (DokuWiki)
# vers la nouvelle (wiki.alpinux.org + alpinux.org)
ServerName alpinux.org
ServerAlias www.alpinux.org
Redirect permanent / https://alpinux.org/
ServerName alpinux.org
ServerAlias www.alpinux.org
DocumentRoot /var/www/clients/client1/web1/web
# ── Redirections www → sans-www ─────────────────────────────────
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.alpinux\.org$ [NC]
RewriteRule ^ https://alpinux.org%{REQUEST_URI} [R=301,L]
# ── Migration SEO : anciennes URLs DokuWiki ──────────────────────
# L'ancien wiki tournait sur DokuWiki avec des URLs de type :
# /doku.php?id=namespace:page
# /wiki/doku.php?id=namespace:page
#
# Les deux-points (:) sont encodés %3A dans les query strings.
# On redirige vers wiki.alpinux.org avec des URLs propres.
# /doku.php?id=start → wiki.alpinux.org/
RewriteCond %{QUERY_STRING} ^id=start$ [NC]
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/ [R=301,L]
# /doku.php?id=alpinux:start → wiki.alpinux.org/alpinux/
RewriteCond %{QUERY_STRING} ^id=alpinux(%3A|:)start$ [NC]
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/alpinux/ [R=301,L]
# /doku.php?id=namespace:page → wiki.alpinux.org/namespace/page/
# Capture générique : transforme les ":" en "/" dans le chemin
RewriteCond %{QUERY_STRING} ^id=([a-z0-9_-]+)(%3A|:)([a-z0-9_-]+)$ [NC]
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/%1/%3/ [R=301,L,NE]
# /doku.php?id=page (namespace racine) → wiki.alpinux.org/page/
RewriteCond %{QUERY_STRING} ^id=([a-z0-9_-]+)$ [NC]
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/%1/ [R=301,L,NE]
# /wiki/* → wiki.alpinux.org/* (si l'ancien wiki était monté en sous-répertoire)
RewriteRule ^/wiki/(.*)$ https://wiki.alpinux.org/$1 [R=301,L]
# ── Fichiers statiques ───────────────────────────────────────────
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
DirectoryIndex index.html
# Logs
ErrorLog /var/log/apache2/alpinux.org-error.log
CustomLog /var/log/apache2/alpinux.org-access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/alpinux.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/alpinux.org/privkey.pem