简体   繁体   中英

url rewriting by .htaccess files in php

I am rewriting my problem . Below I am giving all the details of what i am trying to do, and what is the result I am getting. I hope to be very clear this time. I have a samples page here www.broadcast2world.com/samples.php. All the links and data which we see on the page is coming from a database. Now suppose we click on a link "More Info" for a particular video say social control. A specific href for that video is triggered as <a href="video.php?pid='.$id.'"> . It passes its id over url in the format http://www.broadcast2world.com/video.php?pid=66.

I catch that id into a variable using

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

Using the $pageid variable, I run a query which ultimately prepare the page for that particular video.

What my SEO guy need is a url in the format www.broadcast2world.com/video/name-of-the-video.

Now the problem is that if I make a mod_rewrite amendments which is wonderfully explained by Ben below, I am not able to figure out, how to link that name-of-the-video to its id. I am sure there must be something I have to modify while creating specific url for videos as explained above. But I really don't know what? Thanks again for your wonderful support

Instead of id, you have to search the database based on title then.

Here are what you are going to need.

.htaccess

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

Link generation

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

You should add a column in your videos table in which you will store name-of-the-video that is suitable to be put in URL. You will need to UPDATE all your videos and set the name-of-the-video to a unique value for each video. From then on it will be simple to fetch a video by name instead of by id.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM