【发布时间】:2011-04-03 13:38:46
【问题描述】:
我有这样的链接/product.php?id=1
我想在 .htaccess 中重写它,例如 /productname/id 或 /productname/1。
我正在使用 PHP。
【问题讨论】:
标签: .htaccess url-rewriting seo
我有这样的链接/product.php?id=1
我想在 .htaccess 中重写它,例如 /productname/id 或 /productname/1。
我正在使用 PHP。
【问题讨论】:
标签: .htaccess url-rewriting seo
为此,您需要将产品名称与 id 一起获取,以便在重写表达式中使用它。
您可能还想探索RewriteMap,您可以在其中将产品 ID 列表映射到产品名称。显然,只有当您的产品数量有限时,您才会这样做。
如果产品的数量是动态的,变化太频繁,建议你在检索id的时候检索产品名称。
【讨论】:
我会为你提供两种方法。
第一个将是最简单的。您可能想在 Apache 中使用 mod_rewrite。然后在 serverfault.com 上发布这个问题。
提示:配置(在您的 .htaccess 文件中)可能类似于:
RewriteEngine On
RewriteRule ^/product.php?id=([0-9]+)$ /productname/$1
第二种方法是让您的product.php 脚本告诉调用浏览器加载一个新的URL。为此,请考虑以下内容:
<?php
$id = $_GET['id'];
if ( $id > 0 ) {
/* Redirect browser */
header("Location: http://www.mydomain.com/productname/$id");
/* Make sure that code below does not get executed when we redirect. */
exit;
}
?>
【讨论】: