我希望对如何最好地设置大量URL重定向有所了解。 由于这些网址使用动态ID,因此常规重定向永久性似乎对我们不起作用。 因此,我尝试了一个重写规则,该规则似乎起作用。
我们希望清理一些像这样的字符串:
/myolddirectory/olddir/oldfile.php?id=2 should redirect to: /mynewdirectory?id=2
/myolddirectory/olddir/oldfile.php?id=4 should redirect to: /mynewdirectory?id=4
这有效:
RewriteCond %{QUERY_STRING} (^|&)id\=2($|&)
RewriteRule ^myolddirectory/olddir/oldfile\.php$ /attra-pub-summaries?id=2 [L,R]
RewriteCond %{QUERY_STRING} (^|&)id\=4($|&)
RewriteRule ^myolddirectory/olddir/oldfile\.php$ /attra-pub-summaries?id=4 [L,R]
我们有600个ID。 我只是想知道是否有一种更清洁的方法来执行此操作,而不必编写600多个规则。谢谢。
答案 0 :(得分:2)
您可以使用以下一种条件进行操作:
UITableView
RewriteCond %{QUERY_STRING} \bid=([24])\b
RewriteRule ^myolddirectory/olddir/oldfile\.php$ /attra-pub-summaries?id=%1 [L,R]
是指第一个捕获组在重写条件下保留的值。