← nitronium.dev
.htaccess HTTP→HTTPS yönlendirmesi varken curl http://localhost 404 veriyor
2026-06-09
Sunucu üzerinde curl http://localhost/dosya.html ile test yaparken sürekli 404 aldım. Sorun dosyada değil, .htaccess kuralında.
Sorun
.htaccess'te şu kural varsa:
`apache
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
`
curl http://localhost isteği önce 301 alır, sonra https://localhost adresine yönlenir — bu adres genellikle çalışmaz ve 404 veya bağlantı hatası döner.
Çözüm
Sunucu üzerinde test ederken dışarıdan HTTPS ile test et:
`bash
sunucu içinden — çalışmaz
curl http://localhost/dosya.html # 301 → 404
dışarıdan — doğru
curl -s -o /dev/null -w '%{http_code}' https://nitronium.dev/dosya.html # 200
`
Ya da yönlendirmeyi geçici devre dışı bırakmak yerine -L flag'i ile yönlendirmeleri takip et:
`bash
curl -sL -o /dev/null -w '%{http_code}' http://localhost/dosya.html
`
Bu durumda HTTPS sertifikası localhost için geçersiz olacağından -k de eklemek gerekebilir.