2015-01-25 3 views
0

URL 매개 변수에 따라 웹 페이지를 리디렉션하려고합니다. 나는 과거의 길을 찾지 않고 지난 며칠 동안 많은 자습서와 스택 플로우 응답을 통과했다. 나는 프로그래머가 아니지만 stackflow.So를 사용하여 PHP와 HTML 코딩에 대해 알고있는 모든 것을 배웠습니다. 여러분 모두에게 감사드립니다.URL 매개 변수를 사용하여 웹 페이지 리디렉션

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>"; 
에 지시

?>

+0

스크립트를 실행할 때 렌더링되는'window.location = ...'줄을 게시 할 수 있습니까? 나는 모든 매개 변수가 전달 된 것 같지는 않습니다. – seeker

+1

다음과 같이 리디렉션해서는 안됩니다 ... 프로퍼티'headers()'함수를 사용하거나 http 서버의 다시 쓰기 모듈을 직접 사용하십시오. – arkascha

+0

echo ""; – Prakash

답변

1

@arkassha는 적절한 HTTP 헤더 (위치 : url)를 설정하거나 웹 서버 기능을 사용해야한다고 말했습니다. 위치 헤더를 통한 리디렉션의 예는 다음과 같습니다.

<?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"); 
?> 

헤더 앞에 내용을 보내야한다는 사실에 유의해야합니다. 당신이 언급하지만이 선호하는 해결책이 아니다 자바 스크립트를 통해 리디렉션 할 수도 있습니다 http://kb.mediatemple.net/questions/85/Using+.htaccess+rewrite+rules#gs

: 당신이 재 작성 규칙을 사용할 수 아파치의 경우에는 두 번째 변종으로

.

+0

이 오류를 얻지 못하고 있습니다 .PHP 구문 분석 오류 : 구문 error, unexpected '=' – Prakash

+0

@Prakash가 내 대답을 편집했습니다. – seeker

+0

잘 작동하지만 다음과 같이 사용할 수 있습니다 - header ("Location : /women/'.$ProductCategory1.'/product?id=$ArtNumber"); 액세서리 단어는 $ ProductCategory1에서 가져옵니다. – Prakash

0
window.location.replace(" ''/women/Accessories'<?php echo "{$ProductCategory1}'/product?id={$ArtNumber}'' "; ?>"); 

시도해보십시오.

+0

PHP 파싱 오류 : 구문 오류, 예기치 않은 '{'가 – Prakash

+0

인 경우 @Prakash는 올바른 대괄호를 확인하십시오. –

관련 문제