PHP。处理网站上的每个网址

时间:2014-01-24 13:14:16

标签: php joomla

我希望每个用户请求(url)都能在index.php(或其他文件)中处理。我需要处理这些请求以检查是否存在请求的页面(在数据库中),然后构建页面。使用这种方法,我可以将内容存储在服务器本身,而不是存储在数据库中。我怀疑Joomla cms这样工作。我是对的?你可以发布示例代码吗?

(用户必须看到他在浏览器的地址栏中输入的完整网址,当他点击浏览器中的向后箭头时,他必须获取上一页 - 我想我不能使用重定向和多个请求)

2 个答案:

答案 0 :(得分:3)

有一种名为Front Controller Pattern的设计模式,它提供了一个集中的入口点。

要在PHP中实现这一点,您可以使用任何MVC框架,如Codeignitor,默认情况下在FCP中工作。

要在PHP中实现此目的,首先要修改.htaccess。

    RewriteEngine On
    RewriteRule . /index.php [L]

在你的index.php中,有一个像这样的逻辑:

index.php (为了理解而简化的代码)

    <?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. 
    }

答案 1 :(得分:0)

在.htaccess

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