• 20-01-2016, 17:58:09
    #1
    Kodladığım scriptlerde adres yapısını htaccess ile düzeltme gereği duymamıştım. Yeni çalışmamda htaccess ile adres satırında daha okunaklı bir yapı olsun istedim. Sitemde adres yapısı :
    index.php?sayfa=resim&islem=detay&id=5
    şeklinde. Tüm form action, a linkleri vs. her yerde linkleri bu yapıda yazdım. htaccess ile kullandığım kod ise şu şekilde :

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^(.*)/(.*)$ index.php?sayfa=$1&islem=$2
    RewriteRule ^(.*)/(.*)/(.*)$ index.php?sayfa=$1&islem=$2&id=$3
    Tarayıcının adres satırında :

    www.adres.com/haber/liste
    yazacak olursam o sayfa içeriği geliyor. İşte sorularım :

    1- Fare ile linklerin üzerine geldiğimde tarayıcıda alt tarafta gösterilen adres htaccess ile düzeltilmiş şekilde değilde klasik index.php?sayfa=..... şeklinde gözüküyor. Fare ile üzerine gelince linklerin htaccess ile uygulanmış gibi olması için ne yapmalıyım? Eğer adresleri href="haber/liste" şeklinde yaz diyecek olursanız peki htaccess kullanmadan siteyi çalıştıracak olursam o zaman adresler patlamaz mı?

    2- htaccess ile adres yapısını değiştirince sitenin Css leride çalışmamaya başladı. Stil dosyası için adreslemem href="dist/css/AdminLTE.min.css" şeklinde.

    Yardımlarınız için teşekkür ederim.
  • 20-01-2016, 20:44:27
    #2
    Üyeliği durduruldu
    emerald adlı üyeden alıntı: mesajı görüntüle
    Kodladığım scriptlerde adres yapısını htaccess ile düzeltme gereği duymamıştım. Yeni çalışmamda htaccess ile adres satırında daha okunaklı bir yapı olsun istedim. Sitemde adres yapısı :
    index.php?sayfa=resim&islem=detay&id=5
    şeklinde. Tüm form action, a linkleri vs. her yerde linkleri bu yapıda yazdım. htaccess ile kullandığım kod ise şu şekilde :

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^(.*)/(.*)$ index.php?sayfa=$1&islem=$2
    RewriteRule ^(.*)/(.*)/(.*)$ index.php?sayfa=$1&islem=$2&id=$3
    Tarayıcının adres satırında :

    www.adres.com/haber/liste
    yazacak olursam o sayfa içeriği geliyor. İşte sorularım :

    1- Fare ile linklerin üzerine geldiğimde tarayıcıda alt tarafta gösterilen adres htaccess ile düzeltilmiş şekilde değilde klasik index.php?sayfa=..... şeklinde gözüküyor. Fare ile üzerine gelince linklerin htaccess ile uygulanmış gibi olması için ne yapmalıyım? Eğer adresleri href="haber/liste" şeklinde yaz diyecek olursanız peki htaccess kullanmadan siteyi çalıştıracak olursam o zaman adresler patlamaz mı?

    2- htaccess ile adres yapısını değiştirince sitenin Css leride çalışmamaya başladı. Stil dosyası için adreslemem href="dist/css/AdminLTE.min.css" şeklinde.

    Yardımlarınız için teşekkür ederim.
    1-Url yapısını tek tek dosyaları açıp düzenleyeceksiniz.
    2-css dosya adresini http://siteadi.com/dosyayolu/stil.css şeklinde yazın.
  • 20-01-2016, 22:16:39
    #3
    Hasidluu adlı üyeden alıntı: mesajı görüntüle
    1-Url yapısını tek tek dosyaları açıp düzenleyeceksiniz.
    2-css dosya adresini http://siteadi.com/dosyayolu/stil.css şeklinde yazın.
    1- Çok açıklayıcı olmadı hocam
    2- Bu şekilde yapabileceğimi biliyorum farklı bir çözüm aradım. base href kullanmamı tavsiye eden oldu ancak o da çözüm olmadı ne yazık ki.
  • 20-01-2016, 23:02:46
    #4
    Üyeliği durduruldu
    emerald adlı üyeden alıntı: mesajı görüntüle
    1- Çok açıklayıcı olmadı hocam
    2- Bu şekilde yapabileceğimi biliyorum farklı bir çözüm aradım. base href kullanmamı tavsiye eden oldu ancak o da çözüm olmadı ne yazık ki.
    1-Tek tek bağlantıların olduğu dosyaları açacaksınız.
    index.php?sayfa=<?php echo $par1; ?>&islem=<?php echo $par2; ?>

    Bu tarz url baskılarını şöyle düzenleyeceksiniz:

    /<?php echo $par1; ?>/<?php echo $par2; ?>

    Kendi betiğinize göre örnekler değişecektir. Kısaca bu kısmı "
    index.php?sayfa=" ve get parametrelerini silip yerine yeni url yapınıza uygun şekilde slash ekleyeceksiniz.
  • 20-01-2016, 23:15:16
    #5
    Hasidluu adlı üyeden alıntı: mesajı görüntüle
    1-Tek tek bağlantıların olduğu dosyaları açacaksınız.
    index.php?sayfa=<?php echo $par1; ?>&islem=<?php echo $par2; ?>

    Bu tarz url baskılarını şöyle düzenleyeceksiniz:

    /<?php echo $par1; ?>/<?php echo $par2; ?>

    Kendi betiğinize göre örnekler değişecektir. Kısaca bu kısmı "
    index.php?sayfa=" ve get parametrelerini silip yerine yeni url yapınıza uygun şekilde slash ekleyeceksiniz.
    Get ile birlikte gelen değerler değişken değil sabit çoğu yerde sadece ID olan yerler değişken onlarıda zaten bahsettiğiniz gibi ekliyorum. Dediğiniz gibi linkleri yapsam :

    index.php?sayfa=haberler&islem=detay yerine
    /haberler/detay/ şeklinde href içine yazmış olsam ancak htaccess aktifleştirilmeden sitede linkler anlamsız olmayacak mı? Çünkü o şekilde bir adres yok ortada. Örnek olarak Joomla'yı verebilirim linkler yazılırken /haberler/detay şeklinde değilde Get değişkenleri ile birlikte yazılıyor ancak htaccess aktif edilirse temiz link olarakta kullanılabiliyor.
  • 20-01-2016, 23:29:03
    #6
    Size tavsiyem href'lere dinamik link kullanmanız.Atıyorum panelinize veya ayar dosyanızdan $link_yapısı şeklinde değişken çekin.
    Eğer 1 ise ;
    "site/param1/param2/" şeklinde href'lere link verin.
    Eğer 2 ise ;
    "site/index.com?par1=deger&par2=deger" şeklinde href'lere link verin.
    Böylece htaccess dosyanızı değiştirdiğiniz zaman tüm sayfaların linklerini düzenlemek zorunda kalmazsınız.
  • 20-01-2016, 23:32:31
    #7
    Üyeliği durduruldu
    emerald adlı üyeden alıntı: mesajı görüntüle
    Get ile birlikte gelen değerler değişken değil sabit çoğu yerde sadece ID olan yerler değişken onlarıda zaten bahsettiğiniz gibi ekliyorum. Dediğiniz gibi linkleri yapsam :

    index.php?sayfa=haberler&islem=detay yerine
    /haberler/detay/ şeklinde href içine yazmış olsam ancak htaccess aktifleştirilmeden sitede linkler anlamsız olmayacak mı? Çünkü o şekilde bir adres yok ortada. Örnek olarak Joomla'yı verebilirim linkler yazılırken /haberler/detay şeklinde değilde Get değişkenleri ile birlikte yazılıyor ancak htaccess aktif edilirse temiz link olarakta kullanılabiliyor.
    Ozaman fonksiyon hazırlayacaksınız hocam adres çubuğundaki url içinde ampersant var ise antisef_link, yok ise sef_link basacak şekilde.
    echo urlfonk($getpar1, $getpar2);
    şeklinde yazdığınızda otomatik sefli veya sefsiz urlyi döşeyecek..
  • 20-01-2016, 23:43:15
    #8
    trflash adlı üyeden alıntı: mesajı görüntüle
    Size tavsiyem href'lere dinamik link kullanmanız.Atıyorum panelinize veya ayar dosyanızdan $link_yapısı şeklinde değişken çekin.
    Eğer 1 ise ;
    "site/param1/param2/" şeklinde href'lere link verin.
    Eğer 2 ise ;
    "site/index.com?par1=deger&par2=deger" şeklinde href'lere link verin.
    Böylece htaccess dosyanızı değiştirdiğiniz zaman tüm sayfaların linklerini düzenlemek zorunda kalmazsınız.
    Hasidluu adlı üyeden alıntı: mesajı görüntüle
    Ozaman fonksiyon hazırlayacaksınız hocam adres çubuğundaki url içinde ampersant var ise antisef_link, yok ise sef_link basacak şekilde.
    echo urlfonk($getpar1, $getpar2);
    şeklinde yazdığınızda otomatik sefli veya sefsiz urlyi döşeyecek..
    Bu şekilde her ikinizin dediği gibi yapacak olursam sayfa her yüklendiğinde tüm linkler IF kontrolünden geçeceği için hem performans kaybı yaşanacak hemde adresleri her iki şekilde yazmam gerektiği için iş yükü iki kat artmayacak mı?

    Query string şeklinde kodlayacağım ancak htaccess aktif ise linkleri temiz link şeklinde aktif değilse query string şeklinde gösterecek bir yöntem olmaması açıkçası şaşırttı beni.

    Script tek index dosyası üzerinden işliyor. Yani adrese gelen değişkenler başka dosyaların adı olmuş oluyor. Bu değişkenlere göre dosyaları include ediyorum. Eğer her sayfa ayrı birer php dosyası olsa o zaman zaten sorun yok ancak bu şekilde çok daha verimli çalışabildiğimden tercihim bu oluyor.
  • 21-01-2016, 00:10:20
    #9
    Üyeliği durduruldu
    emerald adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde her ikinizin dediği gibi yapacak olursam sayfa her yüklendiğinde tüm linkler IF kontrolünden geçeceği için hem performans kaybı yaşanacak hemde adresleri her iki şekilde yazmam gerektiği için iş yükü iki kat artmayacak mı?

    Query string şeklinde kodlayacağım ancak htaccess aktif ise linkleri temiz link şeklinde aktif değilse query string şeklinde gösterecek bir yöntem olmaması açıkçası şaşırttı beni.

    Script tek index dosyası üzerinden işliyor. Yani adrese gelen değişkenler başka dosyaların adı olmuş oluyor. Bu değişkenlere göre dosyaları include ediyorum. Eğer her sayfa ayrı birer php dosyası olsa o zaman zaten sorun yok ancak bu şekilde çok daha verimli çalışabildiğimden tercihim bu oluyor.
    Hocam basit bir sayfalama sistemi kullanan herkes için durum belirttiğiniz gibi include ederek gerçekleşiyor.

    Include ettiğiniz dosyalardaki href taglarına fonksiyon dosyanızda oluşturacağınız fonksiyon ve parametre değerlerini yazarsanız değişikliği tek elden sadece fonksiyon dosyanızdan yaparak iş yükünden yırtarsınız.

    İş yükünün sebebi bahsettiğimiz url yazdırma yöntemi değil, daha sistemi baştan yazarken link yapısını düşünerek fonksiyon veya sınıf yapısı kullanmanız gerekiyordu. Sonradan düşündüğünüz için veya hazır bir scripti editliyorsanız değişiklik yapmak için gerekli iş yükü sırtınıza binecektir.