如何从seo友好网址获取用户的ID?
这是url(1是id)
http://www.website.com/users/edit/1
并且,如果在这种情况下网址是http://www.website.com/users/edit/1/stack-overflow/,我该如何找到ID?
我试图将其设为<?php user = User::find($_GET['id']); ?>
,但ID不起作用。
答案 0 :(得分:2)
<?php
$url = explode("/",($_SERVER["REQUEST_URI"]));
print_r($url);
?>
在您的情况下,$ url [2]应该具有您之后的ID ...
答案 1 :(得分:1)
实现此目标的最佳方法是使用.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'];
答案 2 :(得分:0)
嗯......我想你应该告诉我们更多你正在使用的课程或框架......但是你所做的一切都根本不起作用。因为$ _GET只会包含一些内容,如果你实际上在url中以?id = 123的方式传递参数...所以这个查找将不会搜索,因为$ _GET是空的。
答案 3 :(得分:0)
解析超级全局$_SERVER['REQUEST_URI']
,其中包含users/edit/1/stack-overflow/
,包含正则表达式或substr
和strpos