.htaccess重定向规则,其中必须计算目标URL

.htaccess重定向规则,其中必须计算目标URL,.htaccess,dynamic,.htaccess,Dynamic,我遇到这样的情况,需要重定向URL(1) 指向这样的URL(2) 在我的应用程序中,我知道ID 145对应于单词john。我如何创建一个301重定向规则,它接受(1),使用PHP或其他脚本查找ID的值,然后在(2)中动态应用找到的值,即“john” 需要计算此解决方案,因为有超过150000个唯一ID。如果手动执行,这将意味着在.htaccess中有150000个重定向规则行-这似乎不是一个好计划。使用如下规则: RewriteRule^person/(\d+)$person.php?id=

我遇到这样的情况,需要重定向URL(1)

指向这样的URL(2)

在我的应用程序中,我知道ID 145对应于单词john。我如何创建一个301重定向规则,它接受(1),使用PHP或其他脚本查找ID的值,然后在(2)中动态应用找到的值,即“john”

需要计算此解决方案,因为有超过150000个唯一ID。如果手动执行,这将意味着在.htaccess中有150000个重定向规则行-这似乎不是一个好计划。

使用如下规则:

RewriteRule^person/(\d+)$person.php?id=$1&redirect=true[L,QSA]

并让
person.php
执行重定向到
http://site.com/person/john
。您的应用程序“知道”如何执行转换,所以不要浪费时间重写该逻辑

如果这两个URL是等效的,那么可以说这样做的好处很小,因为相同的查找需要应用两次(尽管方向不同),并且会稍微降低用户体验。如果你担心,例如搜索引擎索引“更丑”的URL,那么让页面包含规范参考,例如

使用如下规则:

RewriteRule^person/(\d+)$person.php?id=$1&redirect=true[L,QSA]

并让
person.php
执行重定向到
http://site.com/person/john
。您的应用程序“知道”如何执行转换,所以不要浪费时间重写该逻辑

如果这两个URL是等效的,那么可以说这样做的好处很小,因为相同的查找需要应用两次(尽管方向不同),并且会稍微降低用户体验。如果你担心,例如搜索引擎索引“更丑”的URL,那么让页面包含规范参考,例如