.htaccess将带有查询字符串的url重定向到其他页面+;查询字符串

.htaccess将带有查询字符串的url重定向到其他页面+;查询字符串,.htaccess,redirect,mod-rewrite,query-string,.htaccess,Redirect,Mod Rewrite,Query String,我的.htaccess文件遇到了一个问题,由于我对PHP的知识有限,我似乎无法解决这个问题 目标:我想重定向到主页但有查询字符串的流量,并将其重定向到另一个页面,而查询字符串保持不变。像这样: https://www.mywebpage.com/?wd8RL4T6Q00&17.07&52LJqY-emLU&0 到 用户只能看到第一个和底层页面,如()仍然必须是可访问的 在伪代码中(但有点类似于javascript;),我的解决方案如下: if (querystring)

我的.htaccess文件遇到了一个问题,由于我对PHP的知识有限,我似乎无法解决这个问题

目标:我想重定向到主页但有查询字符串的流量,并将其重定向到另一个页面,而查询字符串保持不变。像这样:

https://www.mywebpage.com/?wd8RL4T6Q00&17.07&52LJqY-emLU&0

用户只能看到第一个和底层页面,如()仍然必须是可访问的

在伪代码中(但有点类似于javascript;),我的解决方案如下:

if (querystring) {
  redirect to './player.html' + querystring
}
我所尝试的:

RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)
RewriteRule player.html  %1
但这似乎以某种方式改变了所有流量的方向。。
提前谢谢你的帮助

您当前的RegExp与所有内容都匹配。这就是
*
的意思。相反,如果希望查询字符串至少包含1个字符,可以将其更改为
+
。我认为这解决了你目前的问题

然后,对于重定向:

RewriteEngine On
RewriteCond %{QUERY_STRING} (.+)
RewriteCond %{REQUEST_URI} ^/?$
RewriteRule .* /player.html [L]

嘿,达安,谢谢!真管用!现在,它只选择包含查询字符串的链接。重写cond%{QUERY_STRING}(+)太棒了!如果这是你问题的解决办法,请接受我的回答:)好吧,这是第一部分。。但不是第二部分。我猜这一行现在是:RewriteCond%{QUERY_STRING}(+),所以它只重写其中包含查询字符串的链接。但不是这一行:RewriteRule player.html%1,所以它仍然出现500个错误。你知道我能做些什么来将它引用到带有查询字符串的正确页面吗?我已经添加到了我的答案中。这就是你希望达到的目标吗?嘿,达安,再次感谢你的回答!我的重定向错误太多了。当重定向到/player.html?wd8RL4T6Q00&17.07&52LJqY emLU&0时,它可能会再次拾取查询字符串?不知道重定向后是否再次读取.htaccess文件。此外,用户可见的URL现在更改为:mywebpage.com/player.html?wd8RL4T6Q00&17.07&52LJqY emLU&0。这是不应该发生的。应该是:mywebpage.com/?wd8RL4T6Q00&17.07&52LJqY emLU&0
RewriteEngine On
RewriteCond %{QUERY_STRING} (.+)
RewriteCond %{REQUEST_URI} ^/?$
RewriteRule .* /player.html [L]