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

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • Skittles Page

    Skittles Pag

    28 Mart 2011
  • Stanislav Petrov

    Stanislav Pe

    7 ŞUBAT 2009