2013-11-22 111 views
1

我做了一个网页,用户可以来创建一个博客,从创建一个新的博客页的摘录: -我该如何重定向?

<tr> 
<td>Blog URL</td> 
<td>www.foo.com/blogs/ <input type="text" name="ns"></td> 
</tr> 

现在,用户将在文本框中输入的东西,想的用户输入foobar ..那么我如何设置一个.htaccess的设置,以便用户可以通过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页面。 这里真的很困惑,请解释这是如何工作的。 谢谢。

+1

为什么不只是代替所有请求路由到/博客/在你的htaccess /blogs.php,通过URL的其余部分作为查询字符串PARAM?您无需为每个博客修改它。 –

+0

不应该'$ resulte = mysql_query($ resulte)'是'$ resulte = mysql_query($ equery)'?或者,这是一个错字? –

+0

@ Fred-ii-,这是一个错字,感谢您指出。 – Ankur

回答

1

将这个代码在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 
RewriteBase /m/ 

RewriteRule ^blogs/(.+)$ blogs.php?id=$1 [L,QSA] 
+0

谢谢你的代码@anubhava, 这里有另外一件事,我将如何获取关于该特定博客的所有细节(从数据库)?例如,www.foo.com/blogs/foobar – Ankur

+0

更新了我以前的问题,请你看看? – Ankur

+0

'http://www.foo.com/blogs.php?id = foobar'是否适合你? – anubhava

相关问题