【发布时间】:2013-06-12 19:53:11
【问题描述】:
我选择了一些页面,它们当前的 url 看起来像这样:
www.mydomain.com/directory/?id=123
这将显示来自 id 为 123 的 mySQL 表中的故事。
我想知道的是是否可以将 URL 的外观更改为如下所示:
www.mydomain.com/directory/story-title
我有以下页面代码...
<?php
header('Content-type: text/html; charset=utf-8');
include $_SERVER['DOCUMENT_ROOT'].'/con.php';
$id = $_GET['id'];
$query = "SELECT * FROM mytable WHERE id = $id";
$result = $mysqli->query($query);
if ($mysqli->error) {
printf("Errormessage: %s\n", $mysqli->error);
}
$row = $result->fetch_array(MYSQLI_BOTH);
echo $row['title'];
?>
我的 .htaccess 文件中包含以下内容:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^directory/(.*)/?$ /directory/index.php?id=$1
原始 URL 可以正常工作,但新 URL 不行。
【问题讨论】:
-
“故事标题”是独一无二的吗?也就是说,能不能作为ID使用?
-
好点...也许应该改为
/123-story-title...这将通过在前面添加主键来确保它是唯一的。 -
不不,那看起来不太好。我正在为你写一个答案,给我几分钟
-
为此,您需要使用 .htaccess 文件。这是how to use .htaccess file for url rewriting 的一个很好的例子。
标签: php mysql .htaccess mod-rewrite url-rewriting