我如何用我的页面标题重写网址

时间:2013-02-24 13:54:30

标签: php .htaccess

我的网页是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

我希望我能解释我想做什么。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要确保您的帖子标题(即网址编码版本)是唯一的。然后,您可以使用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();