← 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.