mod rewrite, title slugs and htaccess

2019-02-24 18:32发布

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

  1. /clean-slug-comes-in/
  2. .htaccess catches this and uses slug.php to find the relevant product ID for the slug.
  3. Then product.php?id=(ID.found.from.2) is loaded.

4条回答
虎瘦雄心在
2楼-- · 2019-02-24 18:51

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.

查看更多
神经病院院长
3楼-- · 2019-02-24 18:52

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.

查看更多
来,给爷笑一个
4楼-- · 2019-02-24 19:07

slug.php:

$id="ID.found.from.2";
include 'product.php';
查看更多
太酷不给撩
5楼-- · 2019-02-24 19:12

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.

查看更多
登录 后发表回答