2

我有页面 www.mysite.com/more.php?book=1 我想创建像 www.mysite.com/book-title.html 这样的链接我该怎么做?

在我的页面 www.mysite.com/more.php?book=1 我生成这样的网址

$res = mysql_query("SELECT * FROM book WHERE id_book={$_GET['book']}");
while ($rw = mysql_fetch_object($res)){ 
    $title = strtolower(str_replace(" ", "-", $rw->title)).'.html';
    }

我有 $title,但我不知道如何在 .htaccess 中的 mod 重写中使用它来获取 url www.mysite.com/book-title.html

我希望我设法解释了我想做什么。提前致谢。

4

1 回答 1

1

您需要确保您的帖子标题(即 URL 编码版本)是唯一的。然后,您可以使用 mod_rewrite 设置您的 .htaccess:

RewriteEngine On
RewriteRule ^(.*)\.html$ more.php?book=$1

并确保您的 PHP 脚本使用PDO来避免 SQL 注入:

$db = new PDO('mysql:dbname=my_db;host=127.0.0.1', 'user', 'password');
$statement = $db->prepare("select * from book where BOOK_NAME = :book");
$statement->execute(array(':book' => $_GET['book']));
$row = $statement->fetch();
于 2013-02-24T14:04:10.210 回答