【问题标题】:How can I create and use a fake directory structure?如何创建和使用假目录结构?
【发布时间】:2010-11-13 01:48:40
【问题描述】:

我一直在查看一些网站,它们假装 URL 中有目录结构并想知道“如何?”。

我正在控制一个工作中的网站并查看了代码。他们有一个用于所有页面的数据库,并且它们是动态创建的。

我可以让主页在我的本地服务器上运行,但我不知道从哪里开始使用假目录结构。一个例子是http://www.bankcharges.com/bank-charges-advice/ - 没有目录,但内容在数据库中。

他们是怎么做到的?

我认为与此相关的代码是:

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

?>

【问题讨论】:

    标签: php mysql directory structure


    【解决方案1】:

    在 google 上搜索 url rewrite。

    这是guide from apache

    【讨论】:

      【解决方案2】:

      mod_rewrite 是允许这种情况发生的 apache 模块。其他网络服务器有自己的实现。

      如需初学​​者指南,请查看this blog post

      【讨论】:

        【解决方案3】:

        如果你不知道从哪里开始可能会有点复杂......你必须用这样的东西重写 URL

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

        然后,当您访问像 http://www.bankcharges.com/bank-charges-advice/ 这样的 URL 时,您的服务器实际上会调用 http://www.bankcharges.com/index.php?url=bank-charges-advice/。然后在 index.php 中,您可以随心所欲地处理该查询(通常通过从数据库中提取某些内容)。从学习mod_rewrite开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-24
          • 1970-01-01
          • 1970-01-01
          • 2012-09-13
          • 1970-01-01
          • 1970-01-01
          • 2016-06-06
          • 1970-01-01
          相关资源
          最近更新 更多