Как получить идентификатор из SEO дружественных URL с помощью PHP? - PullRequest
1 голос
/ 25 ноября 2010

Как мне получить идентификатор пользователя из SEO дружественного URL?

Вот URL (1 - это идентификатор)

http://www.website.com/users/edit/1

И, еслиURL-адрес http://www.website.com/users/edit/1/stack-overflow/ в этом случае, как мне найти идентификатор?

Я пытаюсь получить его как <?php user = User::find($_GET['id']); ?>, но идентификатор не работает.

Ответы [ 4 ]

2 голосов
/ 25 ноября 2010
<?php 
$url = explode("/",($_SERVER["REQUEST_URI"])); 
print_r($url); 
?>

В вашем случае $ url [2] должен иметь идентификатор, который вы ищете ...

1 голос
/ 25 ноября 2010

Лучший способ сделать это - использовать .htaccess и mod_rewrite для назначения $_GET переменных:

.htaccess:

RewriteBase /
RewriteRule ^users/edit/(.*)/(.*)$ users/edit/?user_id=$1&somethingelse=$2 [L,NC]

Затем в вашем php-скрипте:

$user_id = $_GET['user_id'];
$somethingelse = $_GET['somethingelse'];
0 голосов
/ 25 ноября 2010

Разобрать суперглобальный $_SERVER['REQUEST_URI'], который будет содержать что-то вроде users/edit/1/stack-overflow/, с регулярным выражением или substr и strpos

0 голосов
/ 25 ноября 2010

Хм ... Я думаю, вы должны рассказать нам больше о классе или фреймворке, который вы используете ... Но то, что вы делаете, не может работать вообще.Поскольку $ _GET будет содержать что-то, только если вы на самом деле передадите параметры способом? Id = 123 в URL-адресе ... Так что этот поиск ничего не будет искать, потому что $ _GET пуст.

...