2009-07-22 5 views
3

Ich habe mir einige Seiten angesehen, die vorgeben, dass es in der URL eine Verzeichnisstruktur gibt und fragte sich, wie?Wie kann ich eine falsche Verzeichnisstruktur erstellen und verwenden?

Ich nehme die Kontrolle über eine Website bei der Arbeit und habe über den Code geschaut. Sie haben eine Datenbank für alle Seiten und sie werden dynamisch erstellt.

Ich kann die Homepage auf meinem lokalen Server arbeiten lassen, aber ich habe keine Ahnung, wo ich mit der falschen Verzeichnisstruktur anfangen soll. Ein Beispiel ist http://www.bankcharges.com/bank-charges-advice/ - es gibt kein Verzeichnis dafür, aber der Inhalt ist in der Datenbank.

Wie haben sie das gemacht?

Der Code dieses Ich denke an ist verwandt ist:

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;   
} 

?> 

Antwort

0

Suche nach URL-Rewrite auf Google.

hier ist eine guide from apache

+0

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html – mpen

7

mod_rewrite das Apache-Modul, das dies geschehen kann erlaubt. Andere Webserver haben ihre eigenen Implementierungen.

Für einen Anfänger Leitfaden, überprüfen Sie this blog post.

3

vielleicht ein bisschen kompliziert sein, wenn Sie nicht wissen, wo man anfangen soll ... Sie die URLs mit so etwas wie diese

RewriteEngine On 

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

neu zu schreiben und dann, wenn Sie eine URL gehen wie http://www.bankcharges.com/bank-charges-advice/, Ihrem Server wird tatsächlich http://www.bankcharges.com/index.php?url=bank-charges-advice/ aufrufen. Und dann können Sie in index.php mit dieser Abfrage arbeiten, wie Sie wollen (normalerweise, indem Sie etwas aus der Datenbank ziehen). Beginnen Sie mit dem Lernen mod_rewrite.

Verwandte Themen