v2.5.2
Giriş yap

URL yanlış İse ?

aydinkeskin
503 defa görüntülendi

Url yanlış ise gerçek urlye göndermesi gerekmiyormu

<?php
 $url = $_SERVER['REQUEST_URI'];
 $uri = FullServer(); //https://www.haber.com/elim-kolum-baglandi/15/
if (strpos($uri, $url) === 0)
{
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: $uri");
   exit;
}
?>

neden çalışmıyor anlamış değilim.

tam adres içerisinde url kısmı geçmiyorsa tam adres neyse ona yönlendir
yapmka istediğim bu

haber.com/elim-kolum-baglandi/15/
ise url
adam gidip
haber.com/elin-nereye-baglandi-biliyormusun/15/

yazınca
haber.com/elim-kolum-baglanti/15/
buna yönelnemesi gerekmiyormu ?
hatam nerde acama

Cevap yaz
Cevaplar (2)
aydinkeskin
1237 gün önce

url fonksiyon şu şekilde tam net url yi alııyorum bu şekilde.

<?php
function FullURL()
{
    $s = &$_SERVER;
    $ssl = (!empty($s['HTTPS']) && $s['HTTPS'] == 'on') ? true:false;
    $sp = strtolower($s['SERVER_PROTOCOL']);
    $protocol = substr($sp, 0, strpos($sp, '/')) . (($ssl) ? 's' : '');
    $port = $s['SERVER_PORT'];
    $port = ((!$ssl && $port=='80') || ($ssl && $port=='443')) ? '' : ':'.$port;
    $host = isset($s['HTTP_X_FORWARDED_HOST']) ? $s['HTTP_X_FORWARDED_HOST'] : (isset($s['HTTP_HOST']) ? $s['HTTP_HOST'] : null);
    $host = isset($host) ? $host : $s['SERVER_NAME'] . $port;
    $uri = $protocol . '://' . $host . $s['REQUEST_URI'];
    $segments = explode('?', $uri, 2);
    $url = $segments[0];
    return $url;
}
 //url : https://www.siteadi.com/makale/makale-budur/50/
?>

ben eşit değil diye sorgulatmıştım seninkide de müsait bir ara deneyeceğim.

şuan kafam karman çorman vaziyette :)

DELETE XX FORM XX İNNER JOİN YY ON YY = XX İNNER JOİN ZZZ ON ZZ = XX ....
GİDEEN BİR ŞEYİN İÇİNE DÜŞTÜM :)

BUNU SQL TARAFINDAN HALLETMEM LAZIM ARTIK KOD TARAFI ÇOK YORDU :)

bgokcol
1237 gün önce

Merhaba. Yorum yapabilmek için FullServer() fonksiyonunu görmek lazım. Ama çözümü anlatayım:

// urlden gelen veriye göre makaleyi çektik. $id değeri urlden geliyor. (15)
$makale = $DB->getMakale($id);
// seo fonksiyonumuz SefLink olsun. $seoUrl değeri urlden geliyor. (elin-nereye-baglandi-biliyormusun)
if($seoUrl !== SefLink($makale['baslik'])) {
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: http://sayfa.com/".SefLink($makale['baslik'])."/$id");
   exit;
}

Umarım anlatabilmişimdir.