PHP İle WWW Ve HTTPS Yönlendirme

Normal şartlarda bunu htaccess ile sağlıyorum eminim sizde öyle yapıyorsunuzdur.

Fakat bu yanında bir çok gereksinimi sağlamıyor ve sorun getiriyor örneğin manuel ayar gerektiriyor aç kapa gibi basitlik sağlamıyor vb. Bunu PHP ile yaptığınız zaman daha rahat hareket etmeniz mümkün oluyor.

Ben MVC Yapımın başında sabitlere tanımlıyorum true-false,1-0 vb. Kısa bir kod bloğu zaten yapınızın başına tanımlarsanız ilk işlem olarak yönlendirmek sizin açınızdan daha verimli olacaktır.

Dediğim gibi ben sabitlere tanımlıyorum ama siz ister sabitlere tanımlayın istersenizde değişkene tanımlayın orası size kalmış. Tabi bunu kullanmak için birde sabit url tutmanız gerekiyor.

Ben onuda dinamik yaptım ki sürekli elimle url yazmak zorunda kalmayayım.

Sabitler:

define('SUBFOLDER', false);

define('HTTPS_CONTROL', true);

define('WWW_CONTROL', true);

define('URL', (HTTPS_CONTROL === true ? 'https://' : 'http://').(WWW_CONTROL === true ? 'www.' : false).str_replace('www.','',$_SERVER['SERVER_NAME']).(SUBFOLDER ? '/'.explode('/',$_SERVER['REQUEST_URI'])[1] : false));

Yönlendirmeler:

if (HTTPS_CONTROL == true) {
    if ($_SERVER['REQUEST_SCHEME'] !== 'https' || $_SERVER['HTTPS'] !== 'on') {
        header("Location: ".URL);
        exit;
    }
}

if (WWW_CONTROL == true) {
    if (substr(getenv('HTTP_HOST'), 0, 4) != "www."){
        header("Location: ".URL);
        exit;
    }
}

htaccess oranla bu şekilde kullanmak bence daha kullanışlı hale getiriyor kendi kullandığım mantığı paylaştım kendi projesinde uygulamak isteyenler için bir fikir olsun.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir