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


URL Rewrite rewrite x.php?id=1

我已经搜索了这个网站,并且已经成功地将其重写为一个干净的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]

这在.htacces重写规则中是不可能的,因为您不能定义一个通用规则,它知道您的软件内部。如果你想在。htaccess文件中这样做,你必须为每个id创建一个规则,这将导致一个非常大且不方便的。htaccess文件。

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