【问题标题】:redirect issue with rewrite rule $tag重写规则 $tag 的重定向问题
【发布时间】:2023-03-19 20:38:01
【问题描述】:

下面有一些问题;特别是第一条规则。

^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。

【问题讨论】:

  • 来自 url /01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/ 您如何在后端的 id 参数中发送 31?能否请您澄清一下。
  • 我从规则本身定义它 @RavinderSingh13 RewriteRule ^01-02-2022/Top-5-Digital-Assets-to-watch-out-for-in-2022/?$ /pages/articles/marketArticles.php?id=31 [END] 为每个 id 插入一个新规则

标签: apache .htaccess mod-rewrite url-rewriting friendly-url


【解决方案1】:

使用您显示的示例/尝试,请尝试遵循 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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多