2012-08-28 5 views
0

내 새로운 웹 응용 프로그램에 Codeigniter를 사용하고 있으며 서버에 게시를 통해 데이터를 보내는 페이지에 양식이 있습니다.이 서버는 사용자를 내 웹 사이트로 다시 보냅니다. example.com/id=12와 같은 추악한 링크를 사용하십시오. & code = XxxxGET 링크를 멋진 링크로 변환

가능하다면 검색하고 있는데 그 못생긴 링크를 어떻게 변환 할 수 있는지 찾아 볼 수 있습니다. 좋은 친화적 인 링크 (example.com/12/Xxxx)

감사

답변

4

당신은 GET 양식을 직접 좋은 URL로 변환 할 수 없습니다. 자동으로 ?key=val 형식이됩니다.

가장 좋은 방법은 GET을 멋진 URL로 변환하는 리디렉션 헤더를 사용하는 것입니다.

는 예를 들면 : 당신은 아마 당신이 그 (것)들에게 많이 사용하게 지금보다는 해킹 수정 각 모든 API가 만들 것을 찾을 수 있도록

$firstPart = $_GET['myKey']; 
$secondPart = $_GET['mySecondKey']; 
header('Location: ' . $requestURL . '/' . $firstPart . '/' . $secondPart); 
+0

예, 이해가 빠른 답장을 보내 주셔서 감사합니다! – user1524462

2

가져 오기 매개 변수는 Web API 's의 기본적 표준 a middle man.

index.php와 같은 수준 (일반적으로 사이트 루트)에 새 폴더를 만듭니다. middleman

같은이 폴더 뭔가 당신이 새를 만들 수 있습니다 사용하는 모든 API에 대한

이제 index.php를 통해 라우팅되지한다 당신의 .htaccess 파일의 항목 목록에 middleman 폴더 추가 전화 .php 파일을 middleman 폴더에 넣으면 모든 요청을 사이트에서 이해할 수있는 것으로 변환합니다.

그런 다음 중개인을 만들기위한 http://yoursite.com/middleman/api_name.php

이유에 외부 API의의 포인트는 요청을 처리하고 코드 점화 안에 그것을하려고하면 의미있는 무언가로 포맷을하기 전에 Code Igniter obliterates the get array 그래서이 제거됩니다 있다는 것입니다 그래서 우리는 Code Igniter의 범위 밖에서 변환을 수행해야합니다.

예를 들어 파일 힘은 다음과 같습니다
mysite.pingback.php

<?php 
    $from = $_GET['ip']; 
    $time = $_GET['time']; 
    $post = $_GET['id']; 

    header('location: ../mysite/pingback/'.$from.'/'.$post.'/'.$time); 
?> 

그래서 아주 간단한 파일. 외부 API를 변경하면 중개인을 간단하게 변경해야하므로 코드 이그니 터 앱이 작동하는 방식에는 영향을 미치지 않습니다.

관련 문제