2012-04-03 24 views
0

我正在重写我的问题。 下面我将详细介绍我正在尝试做的事情,以及我得到的结果是什么。我希望这次能够很清楚。我在这里有一个样本页面www.broadcast2world.com/samples.php。 我们在页面上看到的所有链接和数据都来自数据库。现在假设我们点击某个视频的链接“更多信息”来说明社交控制。该视频的具体href被触发为<a href="video.php?pid='.$id.'">。它通过其对URL ID格式http://www.broadcast2world.com/video.php?pid=66.在PHP中通过.htaccess文件重写URL

我赶上ID为使用

if(!isset($_GET['pid'])){ 
    $pageid='66'; 
} 
else{ 
    $pageid=$_GET['pid']; 
} 

使用$的pageid可变的变量,我运行一个查询,最终为特定的视频制作的页面。

我的搜索引擎优化人员需要的是www.broadcast2world.com/video/name-of-the-video格式的网址。

现在的问题是,如果我做了一个mod_rewrite修正,这是由Ben下面的奇妙解释,我无法弄清楚,如何将该名称的视频链接到它的ID。如上所述,我确信必须在创建视频的特定网址时修改一些内容。但我真的不知道是什么?再次感谢您的精彩支持

回答

3

而不是id,你必须根据标题搜索数据库。

以下是您将需要的。

的.htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^videos/(.*)$ video.php?title=$1 

链接生成

$title = "..."; 
$title = str_replace(" ", "-", $title); //add dashes on the link 
echo "<a href="videos/$title">Click Me</a>"; 
+0

嗨Starx,它工作完美,我从数据库中获取数据。但是我的网页的风格已经完全消失了。当我查看页面的源代码时,我注意到它不是从/js/script.js或/css/style.css获取css或js,而是试图从视频/ js/script.js中获取它们。如何确保为获取支持脚本,它不会在url中添加额外的“视频”。您可以在http://www.broadcast2world.com/videos/avitas-video上查看该页面。只是注意到,即使对于像aboutus这样的所有链接,它也会添加一个额外的/ videos/ – 2012-04-03 10:32:32

+0

@CodeRoad,查看更新,只有当资源不是文件或目录时,才会指定应用重定向的条件。 – Starx 2012-04-03 10:37:46

0

你应该在你videos表中添加一列中,你将存储name-of-the-video这是适合放在URL。您需要UPDATE所有视频,并将name-of-the-video设置为每个视频的唯一值。从此之后,通过名称而不是通过id获取视频将变得非常简单。