3.0 KiB
3.0 KiB
Troubleshooting ERR_TOO_MANY_REDIRECTS
Penyebab Umum
- Konfigurasi Nginx/Apache yang redirect
/ke/index.php - .htaccess di root yang melakukan redirect
- JavaScript redirect yang menyebabkan loop
Solusi
1. Cek Konfigurasi Nginx
Pastikan di server production, konfigurasi nginx TIDAK melakukan redirect loop:
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
.htaccessdipublic/sudah benar (tidak ada redirect) - Jika ada
.htaccessdi root, pastikan tidak ada redirect keindex.php
3. Clear Browser Cache
- Clear cookies untuk domain
retribusi.btekno.cloud - Clear cache browser
- Hard refresh (Ctrl+Shift+R atau Cmd+Shift+R)
4. Test Langsung
Test dengan curl untuk melihat redirect chain:
curl -I https://retribusi.btekno.cloud/index.php
Jika ada banyak Location: headers, berarti ada redirect loop di server.
5. Cek Log Nginx
tail -f /var/log/nginx/retribusi_error.log
Lihat apakah ada error atau redirect yang berulang.
Konfigurasi yang Benar
Nginx (Production)
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)
<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
.htaccessdi root .htaccessdipublic/tidak ada redirect (hanya security headers)- Konfigurasi nginx tidak menggunakan
try_files ... /index.phpdi root location - Browser cache sudah di-clear
- Cookies sudah di-clear