重写附加到另一个重写后的URL结束



我成功执行1个重写。然后,我希望第二次重写能够从第一个重写的结果附加到由此产生的URL的末尾。

我有以下代码:

RewriteEngine On  # Turn on the rewriting engine
RewriteRule ^sports/football/?$ /sports/2018-19/sport_page.php?sport_id=1 [NC]
RewriteRule ^2018-19?$ %{REQUEST_URI}&season_id=39 [L,QSA,R]

第一个改写作品 - 如果在URL中找到"体育/足球/",则根据要求重定向。

然后,我想检查URL中是否存在" 2018-19",如果是的,我想附加" sepen_id = 39"到第一个RewriteUrl的结果结束。

用户转到:http://domain/sports/football/2018-19/

第一次重写:http://domain/sports/2018-19/sport_page.php?sport_id = 1

第二重写:http://domain/sports/2018-19/sport_page.php?

您的重写需要检查完整的URL路径。

RewriteRule ^sports/football/2018-19/?$ %{REQUEST_URI}?season_id=39 [L,R]

上面的规则将生成重定向循环误差,因为模式和目标路径相同。为了解决此问题,您可以将以下RewriteCond放在规则之前。

RewriteCond %{QUERY_STRING} ^$

上面的重新值确保在URI为/sports/2018-19? query staring时,该规则不会执行。

最新更新