我创建了一个用户可以来创建博客的页面,摘自创建新博客页面: -
<tr>
<td>Blog URL</td>
<td>www.foo.com/blogs/ <input type="text" name="ns"></td>
</tr>
现在,用户会在该文本框中输入内容,假设用户输入 foobar ..然后我如何设置.htaccess,以便用户可以通过<访问该博客strong> www.foo.com/blogs/foobar 而不是www.foo.com/blogs.php?id=somethinghere ..
如何实现这一目标?
感谢。
更新
感谢@anubhava提供的htaccess代码,但它似乎没有正常工作,这就是我现在所拥有的。
blogs.php
<?php
session_start();
include 'dbconnector.php';
include 'functions.php';
$owner=$_SESSION['username'];
$id=$_GET['id'];
$equery="select * from events where eventid = '" . $id . "'";
$resulte=mysql_query($resulte) or die (mysql_error($db));
$rowe=mysql_fetch_assoc($resulte);
if((isset($_SESSION['logged'])) && ($_SESSION['logged']==1))
{
?>
Name : <?php echo ($rowe['name']); ?>
Zipcode : <?php echo ($rowe['zipcode']); ?>
<?php
}
else
{
header('Location:/login/');
exit();
}
?>
此代码应该为具有id的博客提取记录,然后将URL重写为www.foo.com/blogs/namehere,如果我直接打开www.foo.com/blogs/namehere
namehere 是用户在创建博客时输入的名称,但我得到的唯一错误是找不到404页面。 在这里真的很困惑,请解释一下这是如何起作用的。 感谢。
答案 0 :(得分:1)
将此代码放入DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteBase /m/
RewriteRule ^blogs/(.+)$ blogs.php?id=$1 [L,QSA]