我希望每個用戶請求(url)在index.php(或其他文件)中處理。我需要處理這些請求來檢查請求的頁面是否存在(在數據庫中),然後構造頁面。使用這種方法,我可以將內容不存儲在服務器本身中,而是存儲在數據庫中。我懷疑Joomla cms是這樣工作的。我是對的?你能發佈示例代碼嗎?PHP。處理網站上的每個url
(用戶必須看到完整的URL,他在瀏覽器的地址欄中鍵入,而當他在瀏覽器上的後退箭頭點擊,他必須拿到前一頁 - 我想我不能使用重定向和多個請求)
我希望每個用戶請求(url)在index.php(或其他文件)中處理。我需要處理這些請求來檢查請求的頁面是否存在(在數據庫中),然後構造頁面。使用這種方法,我可以將內容不存儲在服務器本身中,而是存儲在數據庫中。我懷疑Joomla cms是這樣工作的。我是對的?你能發佈示例代碼嗎?PHP。處理網站上的每個url
(用戶必須看到完整的URL,他在瀏覽器的地址欄中鍵入,而當他在瀏覽器上的後退箭頭點擊,他必須拿到前一頁 - 我想我不能使用重定向和多個請求)
試試這個
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?params=$1 [NC]
正是我需要的))) – Helvdan
它有一個設計模式,稱爲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.
}
我想要糖果! –
我有一個非常大的NMP領域出租! – Michel