0

我的网址目前看起来像这样:

http://www.example.com/test

他们曾经看起来像这样:

http://www.example.com/post.php?post=test

这很好,但我的 post.php 页面不再显示任何内容,即它不显示我的博客文章、标题和时间戳。

我的.htaccess样子是这样的:

RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+post\.php\?post=([^\s]+) [NC]
RewriteRule ^ %1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /post.php?post=/$1 [L]

我的 post.php 页面如下所示:

<?php 
require("controller.php");
$post = $_GET['post'];
$rows = show_post($post);

    foreach($rows as $row): ?>

    <h1><?php echo htmlspecialchars( $row['title'] )?></h1>
    <p><?php echo $row['post'] ?></p>
    <p>Published on <?php echo $row['stamp'] ?></p>

    <?php endforeach; ?> 

    <p><a href="index.php">Return to home</a></p>

我究竟做错了什么?这让我头疼!如果您需要更多信息,请告诉我。

4

1 回答 1

1

你有一个小错误。删除 $1 之前的反斜杠:

RewriteRule ^(.*)$ /post.php?post=$1 [L]
于 2013-06-23T09:55:21.657 回答