Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从MySQL查询重定向PHP填充_Php_Redirect - Fatal编程技术网

从MySQL查询重定向PHP填充

从MySQL查询重定向PHP填充,php,redirect,Php,Redirect,我需要将用户从resources/?group=168页面重定向到resources/?group=205页面 在htaccess、php重定向或index.php中切换大小写是最好的方法吗 我试过但没有成功: htaccess 箱式开关 谢谢你的建议 if ($_GET['id'] == 168) { header('Location: http://www.site.com/resources/?group=205'); } 如果标头重定向不起作用,请使用javascript <

我需要将用户从resources/?group=168页面重定向到resources/?group=205页面

在htaccess、php重定向或index.php中切换大小写是最好的方法吗

我试过但没有成功:

htaccess

箱式开关

谢谢你的建议

if ($_GET['id'] == 168) {
  header('Location: http://www.site.com/resources/?group=205');
}
如果标头重定向不起作用,请使用javascript

<script type="text/javascript">
<!--
window.location = "http://www.site.com/resources/?group=205"
//-->
</script>
我自己也会使用if语句:

if ($id == '168') $id = 205;
但我想这取决于你的需要。如果您想让URL栏反映重定向,我建议使用.htaccess。

我不确定在您的示例中开关本身应该做什么,但是如何

switch($_GET['group']) {
    case 168: $redirGrp = 205;break;
}
if(!empty($redirGrp)) header("Location:?group=$redirGrp");

如果您希望用户永久使用此组ID而不是另一个组ID,我会在htacces或Apache config中这样做,您可以发送一个适当的3XX系列响应头,让浏览器和搜索引擎爬行器知道这是该资源的新位置

RewriteEngine On
RewriteRule ^resources/\?group=168$ /resources/?group=205 [R=301,L]
如果您的确切URI不是/resources/?group=168,那么您可能需要执行一些不同的模式,如:

RewriteRule ^resources/(\?|.*&)group=168(&.*$|$) /resources/$1group=205$2 [R=301,L]

为什么要重定向?这是唯一一个,会有更多的重定向吗?这与MySQL查询有什么关系?我正在从我们用来存储新闻稿的页面重定向到一个新位置。这是目前唯一的重定向。也许我的措辞是错误的,但是这些页面都存储在数据库vs.php文件中,它会按编号将每个页面拉入index.php。谢谢,我一直在尝试让这些页面在我们的设置中工作,但没有任何运气。理想情况下,我希望使用.htaccess,但重写规则不会产生任何结果。我已经将它添加到根文件夹中的.htaccess中,我猜$symbol代表168之后可能出现的任何东西。它根本没有反应,$符号表示字符串的结尾。这将仅与/resources/?group=168的文本URI匹配。如果可能会传递其他参数,那么您需要做一些不同的事情。请参阅上面的编辑。我已尝试将特定重定向和您的代码添加到root、html和resource文件夹,但这似乎对它们中的任何一个都没有影响。应该放在什么文件夹里来帮我去掉一些猜测的工作?谢谢该规则可以在主webroot或apache配置文件中。请注意,如果将其放置在web根目录中,则需要在主Apache配置中允许覆盖。默认情况下,此选项不处于启用状态。感谢您的帮助,此选项可以正常工作,但我意识到,对于使用该页面以前链接的任何人,我都需要htaccess。
RewriteEngine On
RewriteRule ^resources/\?group=168$ /resources/?group=205 [R=301,L]
RewriteRule ^resources/(\?|.*&)group=168(&.*$|$) /resources/$1group=205$2 [R=301,L]