mod rewrite, title slugs and htaccess
I have been taken in to provide some SEO guidance on a website which has been running since 2005. My problem is I 开发者_如何转开发want to use clean URLs.
The code that handles the URL is hidden away in some class file. And with over a few thousand lines of code its a struggle to rewrite it.
So I'm think, I have gone through all the products and created a slug for them as a field in the product table. Is it possible to do something like an intermediate file for .htaccess?
Some thing like
- /clean-slug-comes-in/
- .htaccess catches this and uses slug.php to find the relevant product ID for the slug.
- Then product.php?id=(ID.found.from.2) is loaded.
slug.php:
$id="ID.found.from.2";
include 'product.php';
You can chain rewrite rules, but AFAIK there's no way to execute two scripts in the same request and use the output from 1 as a parameter in the second.
You could use a PHP script as rewrite map (see RewriteMap
directive). But that’s quite difficult.
It would be easier if you send the slug to your slug.php script, fetch the ID from the database, set $_GET['id']
with that value, and then include the product.php script.
Another solution came to my mind:
Eeverything remains the same, but slug.php being included into every module, doing job of converting slugs into ids
Even better if you already have some config file being included into every module.
精彩评论