Php 使用URL参数重定向网页

Php 使用URL参数重定向网页,php,mysql,redirect,url-parameters,Php,Mysql,Redirect,Url Parameters,我正试图根据URL参数重定向网页。在过去的几天里,我已经阅读了很多教程和stackflow答案,但都没有找到解决方法。我不是一个程序员,但我学到了所有关于使用stackflow进行php和html编码的知识。所以谢谢大家 www.domain.com/women/product?id=08607080 要重定向到 www.domain.com/women/Accessories/product?id=08607080 这是我现在使用的代码,但它指向 www.dmail.com/women

我正试图根据URL参数重定向网页。在过去的几天里,我已经阅读了很多教程和stackflow答案,但都没有找到解决方法。我不是一个程序员,但我学到了所有关于使用stackflow进行php和html编码的知识。所以谢谢大家

www.domain.com/women/product?id=08607080
要重定向到

  www.domain.com/women/Accessories/product?id=08607080
这是我现在使用的代码,但它指向 www.dmail.com/women

请帮忙

<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/womenconfig.inc.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.inc.php';

mysql_connect(HOST, USERNAME, PASSWORD) or die(mysql_error());
mysql_select_db(DB) or die(mysql_error());

$ArtNumber = isset($_GET['id'])?$_GET['id']:Null; 

$ArtNumber = isset($_GET['id'])?$_GET['id']:Null; 
$query = "(SELECT * FROM " . implode(' WHERE ArtNumber=\'' . $ArtNumber . '\') UNION (SELECT * FROM ', array_keys($shops_arr)) . '  WHERE ArtNumber=\'' . $ArtNumber . '\' ) ';

$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);


    $ArtNumber  = $row['ArtNumber'] ;
    $ProductCategory1   = $row['ProductCategory1'] ;
    $ProductCategory2   = $row['ProductCategory2'] ;
    $ProductCategory3   = $row['ProductCategory3'] ;



    echo "<script>window.location = ''/women/Accessories'.$ProductCategory1.'/product?id=',$ArtNumber,''</script>";

window.location.replace(“'/women/associates'”,正如@arkassa所说,您应该设置正确的HTTP头(位置:url)或使用web服务器功能。以下是通过位置头重定向的示例:

<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/womenconfig.inc.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.inc.php';

mysql_connect(HOST, USERNAME, PASSWORD) or die(mysql_error());
mysql_select_db(DB) or die(mysql_error());

$ArtNumber = isset($_GET['id'])?$_GET['id']:Null; 

$ArtNumber = isset($_GET['id'])?$_GET['id']:Null; 
$query = "(SELECT * FROM " . implode(' WHERE ArtNumber=\'' . $ArtNumber .    '\') UNION (SELECT * FROM ', array_keys($shops_arr)) . '  WHERE ArtNumber=\'' .   $ArtNumber . '\' ) ';

$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);


$ArtNumber  = $row['ArtNumber'] ;
$ProductCategory1   = $row['ProductCategory1'] ;
$ProductCategory2   = $row['ProductCategory2'] ;
$ProductCategory3   = $row['ProductCategory3'] ;


header("Location: /women/Accessories/product?id=$ArtNumber");
?>

这里需要注意的一点是,必须在发送任何内容之前发送标题

对于apache的第二个变体,您可以使用重写规则:


也可以像您提到的那样通过javascript重定向,但这不是首选的解决方案。

您可以发布执行脚本时呈现的行
window.location=…
?我怀疑没有传递所有参数。您不应该这样重定向…或者使用propper
headers()
函数或直接使用http server.echo的重写模块“window.location=''/women/associates.$ProductCategory1./product?id='',$ArtNumber''”。在arkascha,正如我所说,我不擅长这些东西。id无法工作,出现以下错误PHP解析错误:语法错误,意外'{' in@Prakash请检查正确的括号无法获取此错误PHP解析错误:语法错误,意外的“=”工作正常,但我可以这样使用-header(“Location:/women/”.$ProductCategory1./product?id=$ArtNumber”);因此附件单词将来自$ProductCategory1
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/womenconfig.inc.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.inc.php';

mysql_connect(HOST, USERNAME, PASSWORD) or die(mysql_error());
mysql_select_db(DB) or die(mysql_error());

$ArtNumber = isset($_GET['id'])?$_GET['id']:Null; 

$ArtNumber = isset($_GET['id'])?$_GET['id']:Null; 
$query = "(SELECT * FROM " . implode(' WHERE ArtNumber=\'' . $ArtNumber .    '\') UNION (SELECT * FROM ', array_keys($shops_arr)) . '  WHERE ArtNumber=\'' .   $ArtNumber . '\' ) ';

$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);


$ArtNumber  = $row['ArtNumber'] ;
$ProductCategory1   = $row['ProductCategory1'] ;
$ProductCategory2   = $row['ProductCategory2'] ;
$ProductCategory3   = $row['ProductCategory3'] ;


header("Location: /women/Accessories/product?id=$ArtNumber");
?>