使用php页面

时间:2015-04-25 14:02:41

标签: php .htaccess mod-rewrite

好的,首先让我说我明白这是一个之前被问过的问题。我只是不能将其缩小到关键字并找到我正在寻找的东西。如果这是重复的话,请提前抱歉。 htaccess重写对我来说就像黑魔法......我无法真正开始工作。

对于手头的问题: 我正在写一个简单的准系统php / html网站。我在大约10年内没有这样做(我通常使用一些CMS(wordpress,joomla等))。我正试图处理这些CMS“免费”的一些事情。像漂亮的URL一样。 我有一个简单的index.php,其中包含一些用于构建页面的包含。然后我的动态内容包含了我的包含文件夹。

实际网址的两个案例

index.php?page = index(我的主页) index.php?page =另一页(另一页)

但是,如果我想去,该怎么办? 的index.php?页=一个子页面到另一个页的

这是我的PHP(web根文件夹中的index.php)

if(isset($_GET["page"])){
        $page = $_GET["page"];
        $filename = "/includes/" . $page . ".php";
        if(file_exists($filename)){
            include("/includes/head.php");
            include("/includes/navbar.php");
            include $filename;
            include("/includes/footer.php");
        }else{
            include("/includes/404.php");
        }
    }else{
        include("/includes/head.php");
        include("/includes/navbar.php");
        include("/includes/index.php");
        include("/includes/footer.php");
    }

这是我的.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1

只要我没有任何子页面,这就有效。但是如果我尝试去[root] / somepage / somsubpage那么它就不再起作用了。有人可以帮帮我吗?我希望复制像wordpress这样的标准CMS所带来的效果,其中所有网址都是SEO友好的。

2 个答案:

答案 0 :(得分:1)

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1

不在你的php变量$ _GET [' page']会有完整的网址,例如:

example.com/foo/barr

所以$ _GET [' page'] => /富/巴尔

然而,这只是第一部分,您只需要执行特殊功能即可将网址映射到您的网页。

SEO页面是存储做类似的事情:example.com/some-url/of-my-special/page-in-here.1111.html所以这是你的网址,所以你需要看看at .xxxxx.html xxxx是变量所以现在如果你写htaccess就像:

RewriteRule ^(.*)\.(\d+)\.html$ index.php?fullurl=$1&pageid=$2

$ _ GET [' fullurl'] => /some-url/of-my-special/page-in-here.1111.html $ _GET [' pageid'] => 1111

答案 1 :(得分:0)

  

请!如果有人读到这个......我仍然坚持做什么......我   除了与mysql相关的文章之外什么也找不到。我已经搜索过了   天。我只需要了解如何在我原来的内容中重写PHP   使用变量动态地发布子页面。防爆。   index.php?page = index,index.php?page = secondPage,   index.php?page = secondPage& SubPage< - 这是我找不到的部分   什么都有。如何让php查找多个级别   字符串?

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?level1=$1
RewriteRule ^([^/]+)\/([^/])+$ index.php?level1=$1&level2=$2
RewriteRule ^([^/]+)\/([^/])+\/([^/])+$ index.php?level1=$1&level2=$2&level3=$3