alpinux.site.2026/wiki/scripts/wiki.alpinux.org.vhost.conf
Cédrix 58c8b2ea7c refactor: réorganise le monorepo en sous-dossiers par sous-domaine
Chaque site (wiki, home, dynamic, admin, static, portail, feedback)
a désormais son propre dossier autonome avec ses scripts de déploiement.
Ajoute README.md racine expliquant la structure et la convention git/Claude.
Met à jour .gitignore pour les nouveaux chemins (wiki/docs/assets/).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 17:20:41 +02:00

66 lines
2.6 KiB
Text

# Apache vhost pour wiki.alpinux.org
# À créer via ISPConfig : Sites > Ajouter un site web
# Domaine : wiki.alpinux.org | DocumentRoot : /var/www/clients/client1/web2/web/wiki-static
#
# Ce vhost sert le wiki MkDocs (statique) et gère la migration SEO
# depuis l'éventuelle ancienne structure DokuWiki sur ce sous-domaine.
<VirtualHost *:80>
ServerName wiki.alpinux.org
Redirect permanent / https://wiki.alpinux.org/
</VirtualHost>
<VirtualHost *:443>
ServerName wiki.alpinux.org
DocumentRoot /var/www/clients/client1/web2/web/wiki-static
RewriteEngine On
# ── Migration SEO : anciennes URLs DokuWiki sur ce sous-domaine ──
# Si l'ancien DokuWiki était hébergé ici avant la migration MkDocs
# /doku.php?id=start → /
RewriteCond %{QUERY_STRING} ^id=start$ [NC]
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/ [R=301,L]
# /doku.php?id=alpinux:start → /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 → /namespace/page/
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 → /page/
RewriteCond %{QUERY_STRING} ^id=([a-z0-9_-]+)$ [NC]
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/%1/ [R=301,L,NE]
# URLs sans slash final → avec slash (cohérence MkDocs)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.+)$ $1/ [R=301,L]
# ── Fichiers statiques MkDocs ────────────────────────────────────
<Directory /var/www/clients/client1/web2/web/wiki-static>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
DirectoryIndex index.html
# Cache long pour les assets versionnés MkDocs
<FilesMatch "\.(css|js|woff2?|png|svg|ico)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
# Pas de cache sur le HTML (contenu mis à jour)
<FilesMatch "\.html$">
Header set Cache-Control "public, max-age=3600"
</FilesMatch>
</Directory>
# Logs
ErrorLog /var/log/apache2/wiki.alpinux.org-error.log
CustomLog /var/log/apache2/wiki.alpinux.org-access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/wiki.alpinux.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/wiki.alpinux.org/privkey.pem
</VirtualHost>