重定向PHP查询


Redirect PHP query

我需要从重定向访问者

/plug/survey/survey.php?22

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

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

感谢

添加到survey.hp:的顶部

<?php
if ($_SERVER['QUERY_STRING'] == "22") {
   header("Location: http://example.com/publications.php?1.articles.view.547");
   exit;
}

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

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

同时阅读此

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

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

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

"1.articles"是从哪里来的?它是一个固定字符串吗?"547"是从哪里来的,我想它是从数据库中查找的?

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

我认为您的解决方案是

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

你可以使用.httaccess,但如果你想让用户访问该页面,你就不能使用它,因为它会在阅读该页面上的任何代码之前重定向你,但header()会首先读取代码,如果任何代码不好,那么像这样重定向,

if($varisgood){
   // not redirect
}
else{
   //redirect
}