2017-09-17 2 views
0

현재 웹 사이트 (PHP 및 데이터베이스 포함)를 만들고 있는데 궁금한 점이 있습니다.? = id가 포함되지 않은 URL의 ID

예 : egh95.com/u1 또는 egh95.com/t52-it-s-a-new-day과 같이 URL에서 ID를 얻을 수 있습니까? 마찬가지로 나는 int가 내 ID가되기를 원합니다. 나는 $_Server["REQUEST_URI"]을 사용하고 URL에서 모든 문자와 기호를 제거하려고 시도했지만, 얻은 int는 데이터베이스에서 정보를 가져 오지 못했습니다.

$_GET["id"]을 사용하여 URL에서 int를 가져 오는 방법을 알고 있지만 실제로는 URL이 ?=id1이거나 그와 같은 것을 원하지 않습니다.

+0

을 (당신이 index.php 파일에 ID를 처리 할 가정) ID 및 위치가 올바른 페이지를 반환하면 – Cyclonecode

+0

int를 얻는다는 것은 무엇을 의미합니까? egh95.com/u1 또는 1에서 u1을 얻으시겠습니까? – Mav

+0

egh95.com/u1의 1 번이므로 데이터베이스에서 정보를 얻으려면 내 ID가 될 수 있습니다. – EGH95

답변

0

기본 정규식을 사용하고 싶습니다. 당신이 관심이 있다면

$url = 'egh95.com/u1'; 
preg_match('/^.*\/u(?P<data>.*)/', $string, $matches); 
echo $matches['data']; 

$ 일치 [ '데이터'] 1. Here는 PHP에서 정규식에 대한 몇 가지 문서이다이 경우, U 뒤의 숫자가 포함되어 있습니다.

0

Apache를 사용하는 경우 ModRewrite를 사용하여 사용자에게 친숙한 URL을 구현할 수 있습니다. 소량의 작업으로 당신이 쓴 것을 쉽게 얻을 수 있습니다. 그런 다음 .htaccess 파일 다음 줄에 쓰기 : 당신은, 각각의 ID와 해당 URL 세그먼트 사이의 매핑 상점 요청을 분석하고 matchning à 찾기 위해 시도해야

Options FollowSymLinks 
RewriteEngine On 
RewriteRule "^u(.*)$" "index.php?id=$1" 
+0

'RewriteRule^u ([0-9] +) u.php? id = $ 1 , L]'실제로 작동했습니다. – EGH95