我有一个使用基于 PHP 的 CMS 系统的网站。
所以每个页面都是动态生成的,像这样:
http://www.shuling.net.cn/index.php?_m=mod_product&_a=view&p_id=87
现在我想将此特定页面重定向到另一个页面,即:
所以我写 .htaccess 文件如下:
redirect 301 /index.php?_m=mod_product&_a=view&p_id=87 https://www.datanumen.com/sql-recovery/
但是在我将.htaccess 上传到网站的根目录后,这根本不起作用。
我通过编写另一条规则重新测试,如下所示:
redirect 301 /sql/ https://www.datanumen.com/sql-recovery/
那么这条规则将完美运行。
为什么?
谢谢
Querystring 不是 Redirect 指令中匹配的一部分,要重定向查询字符串,您需要使用 mod-rewrite,如下所示:
选项1
选项 2
我们使用一个空的问号?在目标 url 的末尾丢弃旧的查询字符串,否则这些查询字符串默认附加到目标 url。
如果要使重定向永久化,请将R更改为R =301 。
[在 apache2 和 2.4 上测试]