SORU
5 Mayıs 2013, Pazar


PHP ile URL yeniden yazma

Gibi görünen bir URL var:

url.com/picture.php?id=51

Nasıl bu URL dönüştürme hakkında gitmek istiyorsunuz:

picture.php/Some-text-goes-here/51

WordPress aynı işi yapar sanırım.

Nasıl PHP dostu URL yapmak için ne yapmam lazım?

CEVAP
5 Mayıs 2013, Pazar


Aslında bu 2 şekilde yapabilirsiniz:

.büyü ile debug rota

Bir dosya .htaccess denilen kök klasörünüzde ekleyin, ve bu gibi bir şey eklemek:

RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9] )$ /picture.php?id=$1

Bu Apache bu klasör için büyü etkinleştirmek için size söyleyecektir, ve eğer bir URL bu düzenli ifade ile eşleşen sordu çıkarsa onu yeniden yazarDAHİLİ olarakistediğin şey için, son kullanıcı görmeden. Eğer daha fazla güç gerekiyorsa o kadar kolay, ama esnek olmayan,:

PHP rota

Senin şu koyun .debug yerine:

FallbackResource index.php

Bu index.php tüm dosyalar için normalde site bulunamıyor çalıştırmak için size söyleyecektir. Orada daha sonra örneğin:

$path = ltrim($_SERVER['REQUEST_URI'], '/');    // Trim leading slash(es)
$elements = explode('/', $path);                // Split path on slashes
if(count($elements) == 0)                       // No path elements means home
    ShowHomepage();
else switch(array_shift($elements))             // Pop off first item and switch
{
    case 'Some-text-goes-here':
        ShowPicture($elements); // passes rest of parameters to internal function
        break;
    case 'more':
        ...
    default:
        header('HTTP/1.1 404 Not Found');
        Show404Error();
}

Böyle siteleri ve CMS-sistemler Url, Url vb yapılandırma ve veritabanı bağımlı ayrıştırma çok daha fazla esneklik sağlar çünkü. Düzensiz kullanım için .htaccess kodlanmış yeniden yazma kuralları iyi gelir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009