2010-11-29 4 views
3

많은 수의 링크 리디렉션을 제공하는보다 효율적인 방법이 있는지 궁금합니다. 배경 정보 : 내 사이트는 하루에 수만 명의 사용자를 확보하고 있으며 제휴사 웹 사이트의 많은 개별 제품 페이지에 "deep link"을 제공합니다.수많은 링크 리디렉션을 처리하는보다 효율적인 방법을 찾고 계십니까?

제휴사 링크를 "외투 (cloak)"하고 한 곳에서 모두 지키기 위해, 현재 한 개의 PHP 파일에서 제휴사 링크를 모두 제공하고 있습니다. 사용자는 mysite.com/go.php?id=1을 클릭하고 가맹점 사이트의 페이지로 이동하여 제휴사 쿠키를 추가하여 제품을 구입할 수 있습니다.

<?php 

$path = array(
‘1′ => ‘http://affiliatelink1.com’, 
‘2′ => ‘http://affiliatelink2.com’, 
‘3′ => ‘http://affiliatelink3.com’, 

); 

if (array_key_exists($_GET['id'], $path)) 
header(‘Location: ‘ .$path[$_GET['id']]); 
?> 

난 데 문제는 우리가 매일 PHP 파일은 이제 11K + 링크를 포함하고 매일 성장하고 독특한 제품을 많이 링크 있다는 것입니다 다음과 같이 내가 사용하는 코드입니다. 나는 이미 FTP를 통해 파일을 다운로드하고 편집하는 데 오래 걸리는 것으로 나타났습니다. 파일 크기가 2MB에 가까우며 파일을 업로드하는 동안 링크가 우리 사이트에서 작동하지 않습니다. 나도 서버가 단일 PHP 파일을 통해 많은 링크를 제공하는 것이 좋을지 모르겠다. 나는 아직 어떤 속도 저하도 느끼지 못했지만, 확실히 그 일이 벌어지는 것을 볼 수있다.

그래서 다른 옵션을 찾고 있습니다. go.php가 너무 크기 때문에 새로운 .php 파일 (예 : go2.php)을 시작하여 더 많은 링크를 제공 할 생각 이었지만 비효율적이었습니다. 이 대신 데이터베이스를 사용해야합니까? 저도 Wordpress를 사용하고 있기 때문에 mySQL을 너무 많이 사용하는 것에 관심이 있습니다. PHP로 간단하게 처리하는 것이 더 빠를 것 같지만 다시는 확실하지 않습니다.

내 다른 옵션은 동적으로 이러한 제휴 링크를 만드는 방법을 찾는 것입니다. 즉, 제품의 URL을 가져 와서 제휴사 코드를 추가하는 PHP 파일을 만들면 PHP 파일을 수동으로 업데이트 할 필요가 없습니다. 그러나 이러한 모든 링크를 통해 서버에 미치는 영향에 대해 확신 할 수 없습니다.

의견이 있으십니까? 내가 사용하는 방법이 우리 서버에 특정 사망을 표기하고 있습니까? 아니면 성능을 위해 그대로 유지해야합니까? 데이터베이스에서이 작업을 수행할까요, 아니면 현재 PHP를 사용하는 PHP 파일보다 동적으로 서버에 더 많은 부하를 가할 수 있습니까? 어떤 도움/조언을 크게 주시면 감사하겠습니다!

답변

3

내가 뭘 할 것은 다음

변경 URL 형식은

는 그런 다음 매핑 할 mod_rewrite를 사용 "my_new_product/1"과 같은 같은 SEO의 목적을 위해 그것에서 제품 이름을 가지고

Rewriterule ^([a-zA-Z0-9_-]*)/([0-9]*)$ index.php?id=$2 [L] 

그런 다음 다음과 같은 필드가 포함 된 데이터베이스 테이블을 만들 :

ID를 (쿼리 문자열 등이있는 페이지에 대한 URL 일련 번호, 고유 ID) URL (URL이로 리디렉션)

그런 설명 (사이트의 URL을 만들 수있는 텍스트), 당신은 쉽게 최신들을 주기적으로 업데이트하여 수 있도록 간단한 CRUD 일을 만들 수 있습니다 페이지는 DB의 링크 목록을 제공합니다.

관련 문제