使用htaccess从头开始使用PHP创建博客

时间:2015-07-06 13:50:58

标签: php .htaccess

在不使用任何 PHP 框架的情况下从头创建博客,博客将在我的域根目录中使用一个文件夹,如domain.com/blog

我怎么能制作一个htaccess文件,让我的博客文章采用这样的链接:

domain.com/blog/blog-post-test-link-foo-bar

而不是这样:

domain.com/blog/post.php?id=1

此外,在我的post.php文件中,我想选择该帖子的数据,类似于网址中的 Slug

我怎么能以纯PHP的方式做到这一点?

1 个答案:

答案 0 :(得分:1)

您必须创建/ blog /文件夹,并在其中放置.htaccess文件,如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . ./index.php [L]
</IfModule>

然后在index.php中你会写出类似的东西:

<?php
$base = '/blog/';
$uri = $_SERVER['REQUEST_URI'];
$slug = substr($uri, strlen($base));

// Identify the ID of the post
// You identify the ID by searching your posts database on a field like "slug"
// But for now we'll just load from an array
$posts = array(
    'blog-post-test-link-foo-bar' => 1
);
$postId = isset($posts[$slug]) ? $posts[$slug] : null;

if (!is_null($postId)) {
    // Load the post from the database, 
    // or use it if you already loaded it together with the ID
    echo "Loading!";
} else {
    echo "Invalid post!";
}