Mar.04

Follow-up on Datafeeds Podcast

Joe was talking about a custom script he had written which generated tens of thousands of HTML pages on his server (one per product). We then jumped into PopShops and DataFeedr, completely skipping over how I handle datafeeds! So I’m writing this blog post to outline another solution.

By using .htaccess, PHP and a database, you can save the datafeed in your MySQL database and use a single PHP file with some .htaccess magic to make it appear as though you have thousands of pages on your site.

The basic concept is you’ll have a URL, such as mydomain.com/kabusecha-plum-123.html but that file does not exist on your server! Instead, .htaccess intercepts the request, and rewrites it to a dynamic PHP file (item.php). The .htaccess will look like:

RewriteEngine On
RewriteRule (.*)\-([0-9]+).html$ item.php?nItemID=$2 [L]

What this does is finds any requests for a file that ends in -##.html (dash, any number, dot html) and tells the server what the user really meant was item.php?nItemID=## (whatever that number was). Now your item.php file connects to the database, pulls up record $_GET[‘nItemID’] and inserts that information in your template.

Now when you have to update your template, you update just the item.php file, and all of your “.html” files are automatically updated!

I’m in talks with Loxly on coming up with a full case study on how to effectively use datafeeds for an affiliate website.

How To & Tips
Share this Story:
  • facebook
  • twitter
  • gplus

Comments(4)

  1. Brian Darrow
    2467 days ago

    Great tip Eric! I do it similarly, only I built a wordpress plugin that delivers the dynamic content via the wordpress permalink system. So, a request for:

    http://www.sitename.com/category/product

    is handled by index.php where the plugin analyzes the url and delivers the appropriate content.

    Your way seems more portable, though.

  2. PandaMarketer
    2463 days ago

    Wow, I can’t believe I missed this post. Great start.

  3. Trackback: Building a Datafeed Site – Step 3 | Eric Nagel

  4. Trackback: Handling Products Removed From Datafeeds | Eric Nagel

Leave a comment

Comment