URL重写重写x.php?id = 1

时间:2013-03-21 16:35:09

标签: php .htaccess url url-rewriting

我搜索了网站,并且已经足够远,我已经成功地重写了一个干净的URL。需要更多的帮助。

我有一个包含记录的页面,我已成功将其重写为干净的URL,如下所示:

domain/record.php?id=1685 > to > domain/record-Gavin-Rees-1685使用以下内容:

.htaccess文件:

RewriteRule ^record-(.*)-(.*)$ /record.php?id=$2 [L]

这在我的php文件中:

$temp=str_replace(' ','-', $record [record_name]);
$temp=str_replace('.','', $temp);

<a href='/record-". $temp ."-".$record[id]." '>

这很完美。问题是。

如果直接转到:

,我无法用另一种方式重写它
/record.php?id=1685 it still exists. i tried > RewriteRule ^record.php?id=$ /record-(.*)-(.*)$ [R,L]

1 个答案:

答案 0 :(得分:0)

这在.htacces重写规则中是不可能的,因为您无法定义一般规则,它知道您的软件内部。如果要在.htaccess文件中执行此操作,则必须为每个单独的id创建一个规则,这将导致一个非常大且不方便的.htaccess文件。

获得直接脚本调用重定向的更好方法是,在php文件本身进行重定向并设置http状态代码(即301 - 永久移动)。 获取请求的网址,您可以使用$_SERVER['REQUEST_URI']并在开头检查/record.php