我需要将用户从页面资源/?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;}
感谢您的任何建议。
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在你的例子中应该做什么(本身)但是怎么样
switch($_GET['group']) {
case 168: $redirGrp = 205;break;
}
if(!empty($redirGrp)) header("Location:?group=$redirGrp");
如果您希望用户永久使用此组 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]