-2

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

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

我试过没有成功:

htaccess

Redirect resources/?group=168 http://www.site.com/resources/?group=205

机箱开关

switch ($id) { case '168': $id = 205; break;}

感谢您的任何建议。

4

4 回答 4

0
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>
于 2012-07-23T17:47:31.543 回答
0

我自己会用一个if语句:

if ($id == '168') $id = 205;

但这真的取决于你的需求,我想。如果您希望 URL 栏反映重定向,我建议使用 .htaccess。

于 2012-07-23T17:47:44.257 回答
0

我不确定switch在你的例子中应该做什么(本身)但是怎么样

switch($_GET['group']) {
    case 168: $redirGrp = 205;break;
}
if(!empty($redirGrp)) header("Location:?group=$redirGrp");
于 2012-07-23T17:49:30.493 回答
0

如果您希望用户永久使用此组 ID 而不是另一个,我会在 htacces 或 Apache 配置中这样做,您可以发送适当的 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]
于 2012-07-23T17:52:23.717 回答