Fix: jamulix.de/ leitet wieder auf /landingpage/ weiter
Statt Symlink index.html → landingpage/index.html legen die Deploy-Skripte jetzt webroot/index.html (meta-refresh + location.replace) in den Webroot. README: Deploy-Schritte aktualisiert, Fehlerseiten-Konfig auf nginx (error_page) statt Apache korrigiert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
9c7e1ce4db
commit
c1c0061492
4 changed files with 40 additions and 16 deletions
25
README.md
25
README.md
|
|
@ -97,7 +97,8 @@ Die E-Mail im Footer (`footer.tsx`) wird als Prop von `app/page.tsx` übergeben:
|
||||||
- Baut die Seite (`npm run build`)
|
- Baut die Seite (`npm run build`)
|
||||||
- Öffnet eine SSH-Master-Verbindung (Passwort nur einmal eingeben)
|
- Öffnet eine SSH-Master-Verbindung (Passwort nur einmal eingeben)
|
||||||
- rsync nach `jamulix.de:/var/www/jamulix.de/html/landingpage/`
|
- rsync nach `jamulix.de:/var/www/jamulix.de/html/landingpage/`
|
||||||
- Setzt Symlink: `/var/www/jamulix.de/html/index.html` → `landingpage/index.html`
|
- Lädt `webroot/index.html` nach `/var/www/jamulix.de/html/index.html` hoch
|
||||||
|
(Weiterleitung von `jamulix.de/` auf `/landingpage/`)
|
||||||
- Kopiert die Fehlerseiten `landingpage/<code>.html` in den Webroot
|
- Kopiert die Fehlerseiten `landingpage/<code>.html` in den Webroot
|
||||||
|
|
||||||
### Localhost (zum Testen)
|
### Localhost (zum Testen)
|
||||||
|
|
@ -107,7 +108,7 @@ Die E-Mail im Footer (`footer.tsx`) wird als Prop von `app/page.tsx` übergeben:
|
||||||
```
|
```
|
||||||
|
|
||||||
- rsync nach `/var/www/html/landingpage/`
|
- rsync nach `/var/www/html/landingpage/`
|
||||||
- Symlink: `/var/www/html/index.html` → `landingpage/index.html`
|
- Kopiert `webroot/index.html` (Weiterleitung) nach `/var/www/html/index.html`
|
||||||
- Kopiert die Fehlerseiten in den Webroot
|
- Kopiert die Fehlerseiten in den Webroot
|
||||||
- `sudo chown -R www-data:www-data`
|
- `sudo chown -R www-data:www-data`
|
||||||
|
|
||||||
|
|
@ -134,20 +135,20 @@ Gemeinsames Layout: `components/error-page.tsx`. Der Build erzeugt
|
||||||
`<webroot>/<code>.html`. Alle Asset-Pfade sind absolut (`/landingpage/_next/…`),
|
`<webroot>/<code>.html`. Alle Asset-Pfade sind absolut (`/landingpage/_next/…`),
|
||||||
daher funktionieren die Kopien im Webroot genauso.
|
daher funktionieren die Kopien im Webroot genauso.
|
||||||
|
|
||||||
Damit Apache sie ausliefert, braucht die vHost-Konfiguration (nicht Teil
|
Damit nginx sie ausliefert, braucht der `server`-Block (nicht Teil
|
||||||
dieses Repos) z. B.:
|
dieses Repos) z. B.:
|
||||||
|
|
||||||
```apache
|
```nginx
|
||||||
ErrorDocument 401 /401.html
|
error_page 401 /401.html;
|
||||||
ErrorDocument 403 /403.html
|
error_page 403 /403.html;
|
||||||
ErrorDocument 404 /404.html
|
error_page 404 /404.html;
|
||||||
ErrorDocument 500 /500.html
|
error_page 500 /500.html;
|
||||||
ErrorDocument 502 /502.html
|
error_page 502 /502.html;
|
||||||
ErrorDocument 503 /503.html
|
error_page 503 /503.html;
|
||||||
ErrorDocument 504 /504.html
|
error_page 504 /504.html;
|
||||||
```
|
```
|
||||||
|
|
||||||
- `ErrorDocument 401` muss ein lokaler Pfad sein, keine vollständige URL.
|
- Ziel muss ein lokaler Pfad sein, keine vollständige URL (sonst wird daraus ein Redirect).
|
||||||
- Die 401-Seite erscheint erst, wenn der Login-Dialog des Browsers abgebrochen wird.
|
- Die 401-Seite erscheint erst, wenn der Login-Dialog des Browsers abgebrochen wird.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,11 @@ npm run build
|
||||||
echo "Synchronisiere landingpage/ nach /var/www/html/landingpage/..."
|
echo "Synchronisiere landingpage/ nach /var/www/html/landingpage/..."
|
||||||
sudo rsync -av --delete landingpage/ /var/www/html/landingpage/
|
sudo rsync -av --delete landingpage/ /var/www/html/landingpage/
|
||||||
|
|
||||||
echo "Setze symbolischen Link: index.html → landingpage/index.html"
|
echo "Setze Weiterleitung: index.html → /landingpage/"
|
||||||
|
# rm zuerst: ein alter Symlink würde sonst landingpage/index.html überschreiben
|
||||||
sudo rm -f /var/www/html/index.html
|
sudo rm -f /var/www/html/index.html
|
||||||
sudo ln -s landingpage/index.html /var/www/html/index.html
|
sudo cp webroot/index.html /var/www/html/index.html
|
||||||
|
sudo chown www-data:www-data /var/www/html/index.html
|
||||||
|
|
||||||
echo "Kopiere Fehlerseiten: landingpage/<code>.html → <code>.html"
|
echo "Kopiere Fehlerseiten: landingpage/<code>.html → <code>.html"
|
||||||
for c in $ERROR_PAGES; do
|
for c in $ERROR_PAGES; do
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,10 @@ npm run build
|
||||||
echo "Synchronisiere landingpage/ nach $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/landingpage/..."
|
echo "Synchronisiere landingpage/ nach $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/landingpage/..."
|
||||||
rsync -av --delete -e "ssh -S $SSH_SOCKET" landingpage/ "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/landingpage/"
|
rsync -av --delete -e "ssh -S $SSH_SOCKET" landingpage/ "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/landingpage/"
|
||||||
|
|
||||||
echo "Setze symbolischen Link: index.html → landingpage/index.html"
|
echo "Setze Weiterleitung: index.html → /landingpage/"
|
||||||
ssh -S "$SSH_SOCKET" "$REMOTE_USER@$REMOTE_HOST" "rm -f '$REMOTE_DIR/index.html' && ln -s landingpage/index.html '$REMOTE_DIR/index.html'"
|
# rm zuerst: ein alter Symlink würde sonst landingpage/index.html überschreiben
|
||||||
|
ssh -S "$SSH_SOCKET" "$REMOTE_USER@$REMOTE_HOST" "rm -f '$REMOTE_DIR/index.html'"
|
||||||
|
rsync -av -e "ssh -S $SSH_SOCKET" webroot/index.html "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/index.html"
|
||||||
|
|
||||||
echo "Kopiere Fehlerseiten: landingpage/<code>.html → <code>.html"
|
echo "Kopiere Fehlerseiten: landingpage/<code>.html → <code>.html"
|
||||||
ssh -S "$SSH_SOCKET" "$REMOTE_USER@$REMOTE_HOST" "for c in $ERROR_PAGES; do cp '$REMOTE_DIR'/landingpage/\$c.html '$REMOTE_DIR'/\$c.html; done"
|
ssh -S "$SSH_SOCKET" "$REMOTE_USER@$REMOTE_HOST" "for c in $ERROR_PAGES; do cp '$REMOTE_DIR'/landingpage/\$c.html '$REMOTE_DIR'/\$c.html; done"
|
||||||
|
|
|
||||||
19
webroot/index.html
Normal file
19
webroot/index.html
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta http-equiv="refresh" content="0; url=/landingpage/">
|
||||||
|
<link rel="canonical" href="https://jamulix.de/landingpage/">
|
||||||
|
<title>jamulix.de</title>
|
||||||
|
<style>
|
||||||
|
body { margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center;
|
||||||
|
background: #0b1020; color: #c9cbe0; font-family: system-ui, sans-serif; }
|
||||||
|
a { color: #a78bfa; }
|
||||||
|
</style>
|
||||||
|
<script>location.replace('/landingpage/');</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Weiter zu <a href="/landingpage/">jamulix.de/landingpage/</a></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in a new issue