如何在PHP中处理动态路由?

I'm creating an API via PHP. I need to let users see a particular user. For example if someone goes to mysite.com/users/2, he must get the data about the user with id=2.

This is my .htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_URI} !\.css$
RewriteRule ^([-/_a-zA-Z0-9\s]*)$  index.php?url=$1 [QSA,L]

The variable $url in index.php contains the whole url (for example users/2)

I use something like if($url == "users"){ //code } for routes, but what can I do with id that can be various?

Since you have everything in $url, you can just use explode()

Here's an example:

$url = "users/1234";
$url_array = explode("/", $url, 2);
echo $url_array[1]; 

This doesn't handle any errors, and as you stated in the comments, you'd need to implement those. So, unless this is a very small project it does seem safer, more maintanable, faster, etc. to use a framework like Laravel, or perhaps a micro-framework Lumen or Slim if you only need a few features.

You dont have to include the url in the RewriteRule:

# Redirect all requests to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Then in your index.php:

$urlparts = explode("/", substr(@$_SERVER['PATH_INFO'], 1));
if($urlparts[0] == 'users'){
    //find user with id $urlparts[1]
}