2013-10-23 11 views
0

축소 , URL 매개 변수 값 - - out 매개 변수 이름은 예를 들어, 구글은 내가 내 자신의 "링크를 축소"웹 사이트를 만들려고 해요, 예를 들어 URL

은 그래서 당신은 진짜 웹 사이트로 리디렉션 gog.gl 다음 e.g goo.gl/exapmle_value

example_value 데이터베이스에 전달할 값 링크주고, 그래서 당신이 goo.gl에 귀하의 링크를 축소 할 때 참조하십시오.

그래서 나는 간단한 사용하여이 작업을 수행 할 수있는 방법, 내가 링크를 축소하려고 PHP와 MySQL을 사용하고, 그 밖으로 내 table_id와 함께 넣어

,

e.g www.mydomin.com/1 , www.mydomin.com/2 , www.mydomin.com/3 

을이 생각 동일합니다 PHP는 어떤 PHP 프레임 작동하지 않습니까?

답변

1

이 문제는 두 부분으로 나누어야합니다.

첫째, PHP 스크립트는이 URL의 "코드를 축소"얻을 최종 슬래시 문자 다음가는 비트, 즉하기 : 당신은 $_SERVER['REQUEST_URI']를 사용하여 페이지의 URL을 얻을 수 있습니다

www.mydomin.com/asdfasdfasfd 
       ^^^^^^^^^^^^ This bit is the "shrink code" 

$url = $_SERVER['REQUEST_URI']; 
// Last position of the slash character 
$lastSlashPos = strrpos($url, "/"); 
// Get the text after the last character 
$shrinkCode = substr($url, $lastSlashPos); 
print "Great, now I need to look up $shrinkCode in MySQL." 

이 당신에게 URL의 마지막 부분을 얻을 것이다, 당신이해야 할 모든 strrpos 및 SUBSTR을 사용하여, 마지막 슬래시 후 텍스트를 얻을 수 있습니다.


별도로, 당신은 당신의 웹 사이트에있는 모든 가능한 URL에 동일한 PHP 페이지를 제공하는 웹 서버를 얻을 필요가있다.

아파치를 사용하는 경우,이 페이지를 맞춤 404 페이지로 설정하는 것이 좋습니다. 따라서 사용자가 축소 URL을 사용하여 사이트를 방문 할 때마다 존재하지 않는 경로를 가리 킵니다.

경로가 없으면 Apache는 사용자 정의 오류 404 페이지를 표시합니다. 이 페이지에 위 코드가 포함되어 있으면 "shrink-code"가 포함 된 URL 접미사를 찾을 수 있습니다.

웹 호스트를 사용하는 경우 일반적으로 오류 페이지 선택을위한 자체 사용자 정의 UI가 있습니다. PHP 스크립트의 경로를 입력하십시오. 아파치를 직접 호스팅하고 구성하는 경우 the manual을 참조하십시오.