重写规则 $tag 的重定向问题

redirect issue with rewrite rule $tag

下面有一些问题;具体与第一条规则。

^pages/articles/marketArticles\.php?id=31 我觉得问题出在这里 ,所以基本上我想要实现的是,当用户转到 /pages/articles/marketArticles.php?id=31 时,用户将被重定向到 /01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/ 此规则必须使用多个不同的 ID。

RewriteRule ^pages/articles/marketArticles\.php?id=31 /01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022 [R=301,L]
RewriteRule ^01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/?$  /pages/articles/marketArticles.php?id=31 [END]

在上面的示例中,当用户转到 /01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/ 时,用户可以查看该页面。当用户转到 pages/articles/marketArticles.php?id=31 时,用户会看到该页面,但不会被重定向到新的 url.

根据您显示的 samples/attempts,请尝试遵循 htaccess 规则文件。确保您的 htaccess 文件与 01-02-2022 文件夹并存(不是在里面,而是在它旁边)。

请确保在测试您的网址之前清除浏览器缓存。

RewriteEngine ON
##Rules when user hits /pages/articles/marketArticles\.php?id=31 to redirect TO 01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{THE_REQUEST} \s/pages/articles/marketArticles\.php\?id=31\s [NC]
RewriteRule ^ /01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022? [R=301,L]

##Rules when user hits 01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022 it rewrites to pages/articles/marketArticles.php?id=31 in backend.
RewriteRule ^01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/?$  /pages/articles/marketArticles.php?id=31 [NC,QSA,L]