0

我需要从以下位置重定向访问者:

/plug/survey/survey.php?22

/publications.php?1.articles.view.547

我对 .htaccess 和 php 的了解有限,想知道是否有人对我有任何提示/想法?任何帮助将不胜感激!

谢谢

4

5 回答 5

1

您可以在 htaccess 文件中编写此代码

RewriteEngine on
Redirect /plug/survey/survey.php?22 /publications.php?1.articles.view.547

也读这个

http://corz.org/serv/tricks/htaccess2.php

于 2012-07-13T11:54:07.207 回答
1

添加到survey.php的顶部:

<?php

if ($_SERVER['QUERY_STRING'] == "22") {
   header("Location: http://example.com/publications.php?1.articles.view.547");
   exit;
}
于 2012-07-13T11:55:01.660 回答
0

如果只是一个文件,则可以使用 header('Location: '.$url); 在 php 的顶部 - 请参阅http://php.net/manual/en/function.header.php

于 2012-07-13T11:51:22.897 回答
0

您的问题确实缺乏重要信息:

“1.articles”是从哪里来的——它是一个固定的字符串吗?“547”是从哪里来的,我猜它是从某种数据库查找中来的?

如果是这样,使用简单的重写规则就没有简单的方法来做到这一点。最好的解决方案很可能是编写一个您重定向到的小型 php 脚本。在该脚本中,您评估请求参数(php 变量 $_SERVER 等),进行数据库查找并使用收集到的信息将重定向标头发送到浏览器(使用 phps 'header()' 方法)。

于 2012-07-13T11:55:07.413 回答
0

我认为你的解决方案是

header("location:/publications.php?1.articles.view.547");

您可以使用 .httaccess,但如果您希望用户进入该页面,则不能使用它,因为它会在阅读该页面上的任何代码之前重定向您,但header()会首先阅读代码,如果任何代码不好,则重定向像这样,

if($varisgood){
   // not redirect
}
else{
   //redirect
}
于 2012-07-13T11:56:35.530 回答