Files
Retribusi/TROUBLESHOOTING_REDIRECT.md

119 lines
3.0 KiB
Markdown

# Troubleshooting ERR_TOO_MANY_REDIRECTS
## Penyebab Umum
1. **Konfigurasi Nginx/Apache** yang redirect `/` ke `/index.php`
2. **.htaccess** di root yang melakukan redirect
3. **JavaScript redirect** yang menyebabkan loop
## Solusi
### 1. Cek Konfigurasi Nginx
Pastikan di server production, konfigurasi nginx TIDAK melakukan redirect loop:
```nginx
server {
root /www/wwwroot/retribusi.btekno.cloud/retribusi/public;
index index.php index.html;
location / {
# JANGAN gunakan redirect ke index.php jika sudah di root
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
**PENTING**:
- Document root HARUS di `/retribusi/public` (bukan `/retribusi`)
- JANGAN gunakan `try_files $uri $uri/ /index.php?$query_string;` di root location
### 2. Cek .htaccess
Pastikan `.htaccess` di folder `public/` TIDAK melakukan redirect:
- File `.htaccess` di `public/` sudah benar (tidak ada redirect)
- Jika ada `.htaccess` di root, pastikan tidak ada redirect ke `index.php`
### 3. Clear Browser Cache
1. Clear cookies untuk domain `retribusi.btekno.cloud`
2. Clear cache browser
3. Hard refresh (Ctrl+Shift+R atau Cmd+Shift+R)
### 4. Test Langsung
Test dengan curl untuk melihat redirect chain:
```bash
curl -I https://retribusi.btekno.cloud/index.php
```
Jika ada banyak `Location:` headers, berarti ada redirect loop di server.
### 5. Cek Log Nginx
```bash
tail -f /var/log/nginx/retribusi_error.log
```
Lihat apakah ada error atau redirect yang berulang.
## Konfigurasi yang Benar
### Nginx (Production)
```nginx
server {
listen 80;
server_name retribusi.btekno.cloud;
# Document root HARUS di folder public
root /www/wwwroot/retribusi.btekno.cloud/retribusi/public;
index index.php index.html;
location / {
# Jangan redirect, langsung serve file
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
### Apache (Production)
```apache
<VirtualHost *:80>
ServerName retribusi.btekno.cloud
DocumentRoot /www/wwwroot/retribusi.btekno.cloud/retribusi/public
<Directory /www/wwwroot/retribusi.btekno.cloud/retribusi/public>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
```
## Checklist
- [ ] Document root di nginx/apache mengarah ke folder `public/`
- [ ] Tidak ada redirect di `.htaccess` di root
- [ ] `.htaccess` di `public/` tidak ada redirect (hanya security headers)
- [ ] Konfigurasi nginx tidak menggunakan `try_files ... /index.php` di root location
- [ ] Browser cache sudah di-clear
- [ ] Cookies sudah di-clear