Nasıl oluşturmak ve sahte bir dizin yapısını kullanabilirsiniz?

3 Cevap php

Ben orada URL bir dizin yapısı ve merak olduğunu iddia bazı sitelerde bakarak edilmiştir 'nasıl?'.

Ben iş yerinde bir web sitesinin kontrolünü alıyorum ve kod üzerinde baktım. Onlar tüm sayfalar için bir veritabanı var ve onlar dinamik olarak oluşturulur.

Ben anasayfa benim yerel sunucuda çalışan alabilirsiniz ama ben sahte dizin yapısı ile başlamak nereye kadar bir ipucu yok. Bir örnek http://www.bankcharges.com/bank-charges-advice/ - Bunun için herhangi bir dizin, ancak içerik veritabanında.

Nasıl bunu yaptın?

Bence bu ilişkili kodu:

index.php:

<?php

    include('includes/functions.php');

    $activeTab = "navhome"; 
    $sent = false;

    $title = (isset($_GET['title']))? mysql_real_escape_string($_GET['title']) : 'Home';    
    $title = str_replace('-',' ', $title);

    if($title != '') {  

        $sql = "SELECT * 
                FROM contents 
                WHERE name LIKE '%$title%'
                LIMIT 1";

        $result = @mysql_query($sql);       
        $row = mysql_fetch_assoc($result);      
    }

    //Set page title
    $pagetitle = (isset($row['name']) && $title != 'Home')? ucwords($row['name']) : "Bank Charges";
?>

functions.php:

<?php

include('database.php');
include('settings.php');

//Nice URL's
function url($str){
$arr = array('!','"','£','$','%','^','&','*','(',')','_','+','{','}',':','@','~','<','>','?','|',',','.','\\','/',';',']','[','\'');    
$str = str_replace($arr,"", str_replace(" ","-",strtolower($str))); 
return $str;        
}

function isEven($v){
    if($v % 2 == 0) return true;        
}

?>

3 Cevap

mod_rewrite bu meydana sağlar apache modülü. Diğer web sunucuları kendi uygulamaları var.

Bir başlayanlar kılavuzu için, check out this blog post.

Eğer nereden başlayacağınızı bilmiyorsanız, biraz karmaşık olabilir ... Eğer böyle bir şey ile URL'leri yeniden yazmak zorunda

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /index.php?url=$0 [L,QSA]

Eğer gibi bir URL gittiğinizde ve ardından http://www.bankcharges.com/bank-charges-advice/, sunucu aslında http://www.bankcharges.com/index.php?url=bank-charges-advice/ kadar arayacak. Ve sonra index.php sen ancak (genellikle veritabanından bir şey çekerek) istediğiniz sorguyu işleyebilir. Öğrenmeye başlayın mod_rewrite.

google url yeniden yazma arayın.

Burada guide from apache olduğunu