我搜索了网站,并且已经足够远,我已经成功地重写了一个干净的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]
答案 0 :(得分:0)
这在.htacces重写规则中是不可能的,因为您无法定义一般规则,它知道您的软件内部。如果要在.htaccess文件中执行此操作,则必须为每个单独的id创建一个规则,这将导致一个非常大且不方便的.htaccess文件。
获得直接脚本调用重定向的更好方法是,在php文件本身进行重定向并设置http状态代码(即301 - 永久移动)。
获取请求的网址,您可以使用$_SERVER['REQUEST_URI']
并在开头检查/record.php