php中.htaccess文件重写url


url rewriting by .htaccess files in php

我正在重写我的问题。下面我给出了我想要做的所有细节,以及我得到的结果。我希望这次能说得很清楚。我在这里有一个样本页面www.broadcast2world.com/samples.php。我们在页面上看到的所有链接和数据都来自数据库。现在假设我们点击一个链接"更多信息"为一个特定的视频说社会控制。该视频的特定href被触发为<a href="video.php?pid='.$id.'">。它以http://www.broadcast2world.com/video.php?pid=66. 格式通过url传递其id

我使用将该id捕获到一个变量中

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

使用$pageid变量,我运行一个查询,最终为该特定视频准备页面。

我的SEO人员需要的是一个格式为www.broadcast2world.com/video/name-of-the-video.的url

现在的问题是,如果我做了一个mod_rewrite修改,Ben在下面精彩地解释了这一点,我就不知道如何将视频的名称链接到它的id。我相信在为视频创建特定url时,我必须修改一些内容,如上所述。但我真的不知道是什么?再次感谢您对的大力支持

您必须根据标题搜索数据库,而不是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>";

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