2014-01-24 69 views
-5

我希望每個用戶請求(url)在index.php(或其他文件)中處理。我需要處理這些請求來檢查請求的頁面是否存在(在數據庫中),然後構造頁面。使用這種方法,我可以將內容不存儲在服務器本身中,而是存儲在數據庫中。我懷疑Joomla cms是這樣工作的。我是對的?你能發佈示例代碼嗎?PHP。處理網站上的每個url

(用戶必須看到完整的URL,他在瀏覽器的地址欄中鍵入,而當他在瀏覽器上的後退箭頭點擊,他必須拿到前一頁 - 我想我不能使用重定向和多個請求)

+3

我想要糖果! –

+0

我有一個非常大的NMP領域出租! – Michel

回答

0

試試這個

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?params=$1 [NC] 
+0

正是我需要的))) – Helvdan

3

它有一個設計模式,稱爲Front Controller Pattern,它提供了一個集中入口點。

要在PHP中實現這一點,您可以使用默認情況下在FCP中工作的任何MVC框架,如Codeignitor。

要在PHP中實現這一點,首先要修改.htaccess。

RewriteEngine On 
    RewriteRule . /index.php [L] 

而在你的index.php,有這樣一個邏輯:

的index.php在.htaccess(代碼簡化理解)

<?php 

    if ($_SERVER['REQUEST_URI'] == '/about') { 
     // Logic for printing About 
     getContent('about'); 
    } elseif ($_SERVER['REQUEST_URI'] == '/products') { 
     getContent('products'); 
    } else { 
     // Logic for printing 404 page 
    } 



    function getContent($key) { 

     // load value based on $key 

     //print content. 
    }