presseportale/FINALE-ASSET-URL-FIXES.md
Kevin Adametz 405df0a122
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
first commit
2025-10-20 17:53:02 +02:00

107 lines
2.7 KiB
Markdown

# ✅ Finale Asset-URL Fixes - Zusammenfassung
## 🔧 Was wurde geändert
### 1. `config/domains.php`
Jede Domain hat jetzt eine dedizierte `asset_url`:
- `portal`: `https://assets.pr-copilot.test`
- `presseecho`: `https://assets.presseecho.test`
- `businessportal24`: `https://assets.businessportal24.test`
### 2. `app/Providers/ThemeServiceProvider.php`
- Setzt `config('app.asset_url')` dynamisch basierend auf der Domain
- Aktualisiert die `public/hot` Datei mit der richtigen Asset-URL
- Vite verwendet nun die domain-spezifische Asset-URL
### 3. `vite.web.config.js`
- Hinzugefügt: `allowedHosts` für alle Asset-Domains
- Erlaubt Anfragen von beiden Web-Asset-Domains
### 4. `config/vite.php` (NEU)
- Neue Laravel Vite-Konfiguration
- Verwendet die dynamische `ASSET_URL` aus der Umgebung
## 🚀 Jetzt testen
### 1. Vite-Server neu starten
```bash
# Stoppe alle Vite-Server
pkill -f "vite --config"
# Starte neu
npm run dev:all > /tmp/vite-server.log 2>&1 &
# Prüfe Status
sleep 5 && tail -30 /tmp/vite-server.log
```
### 2. Im Browser testen
Öffne mit Hard-Refresh (`Ctrl+Shift+R`):
- ✅ https://pr-copilot.test
- ✅ https://presseecho.test
- ✅ https://businessportal24.test
### 3. Erwartetes Verhalten
**VORHER (❌)**:
```
https://0.0.0.0:5178/@vite/client
```
**NACHHER (✅)**:
```
https://assets.pr-copilot.test/@vite/client
https://assets.presseecho.test/@vite/client
https://assets.businessportal24.test/@vite/client
```
## 🔍 Debug-Befehle
Falls Probleme auftreten:
```bash
# 1. Prüfe Hot-File
cat public/hot
# 2. Prüfe Asset-Domains
curl -Ik https://assets.presseecho.test/@vite/client
curl -Ik https://assets.businessportal24.test/@vite/client
# 3. Prüfe Vite-Server Logs
tail -50 /tmp/vite-server.log
# 4. Cache leeren
php artisan config:clear && php artisan view:clear
```
## 📋 Wie es funktioniert
1. **Request kommt an** → z.B. `businessportal24.test`
2. **ThemeServiceProvider** erkennt die Domain
3. **Config wird geladen**`config/domains.php` für `businessportal24`
4. **Asset-URL wird gesetzt**`https://assets.businessportal24.test`
5. **Hot-File wird aktualisiert**`public/hot` bekommt die richtige URL
6. **Vite lädt Assets** → Von der richtigen Asset-Domain (Port 5178)
7. **Traefik leitet weiter** → Von Port 443 (HTTPS) zu Port 5178 (intern)
## ✨ Vorteile der neuen Lösung
✅ Saubere Trennung pro Domain
✅ Keine Port-Nummern in URLs
✅ HTTPS funktioniert korrekt
✅ Dynamische Asset-URLs basierend auf Domain
✅ Funktioniert mit Vite HMR (Hot Module Replacement)
✅ Erweiterbar für neue Domains
## 🎯 Nächste Schritte
Wenn alles funktioniert:
1. Dokumentiere die neue Struktur im Team
2. Lösche alte/temporäre Dokumentationsdateien
3. Commit die Änderungen
Viel Erfolg! 🚀