如何在.htaccess重定向中使用变量?

时间:2019-07-06 19:25:15

标签: .htaccess redirect

因此,我有一个本地URL /go/xxx,其中xxx是用户选择的任何字符串或数字。我想将其重定向到/handlers/Redirect?q=xxx,并再次将xxx作为该变量。

我尝试使用Redirect,但没有继任者。

Redirect /go/$ /handlers/Redirect.html?q=$

然后,我读到Redirect中不能包含变量,而应使用mod_redirect。我做到了,但仍然没有继任者。

RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^go/$ handlers/Redirect.html?q=$

任何人都可以告诉我什么地方出了错,我必须做些什么才能使其正确重定向?

结论/示例:从https://example.com/go/support重定向到https://example.com/handlers/Redirect.html?q=support

1 个答案:

答案 0 :(得分:1)

您的方法正确,但是您正在检查%{QUERY_STRING},因此应检查%{REQUEST_URI}。

检查此简短规则(重写/ go / anything <> /handlers/Redirect.html?q=anything):

RewriteEngine On
RewriteBase /

RewriteRule ^go\/(.*)$ /handlers/Redirect.html?q=$1 [L]