首页 > 解决方案 > PHP 通过 htaccess 更改了参数重定向

问题描述

我想将我的动态链接重定向到新参数。

我的文件旧代码:

https://www.example.com/index.php?a=browse&b=category&id=[DYNAMIC ID IN NUMBERS]

我想要新的 Files :

https://www.example.com/index.php?a=downloads&b=file&id=[DYNAMIC ID IN NUMBERS]

如何做到这一点.htaccess

我的当前.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
</IfModule>

标签: apache.htaccessredirectmod-rewriteparameters

解决方案


要在保持“旧”动态 id的同时将“旧” URL 重定向到“新”,请在现有指令之前尝试以下操作:

RewriteCond %{QUERY_STRING} ^a=browse&b=category&id=(\d+)
RewriteRule ^(index\.php)$ https://www.example.com/$1?a=downloads&b=file&id=%1 [R=301,L]

$1反向引用只是匹配index.php并保存重复。

%1相对于$1)是对前面CondPattern中捕获的模式的反向引用,即。idURL 参数的值。


推荐阅读