Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 如何在htaccess中使用变量正确格式化URL_.htaccess - Fatal编程技术网

.htaccess 如何在htaccess中使用变量正确格式化URL

.htaccess 如何在htaccess中使用变量正确格式化URL,.htaccess,.htaccess,我正在尝试格式化URL,假设我有一个如下所示的URL: https://example.com/api.php?getUser=12 https://example.com/api/user/12 但我正试图归档如下内容: https://example.com/api.php?getUser=12 https://example.com/api/user/12 我试过这样的东西 RewriteEngine on RewriteRule api/user/ api.php?getUser

我正在尝试格式化URL,假设我有一个如下所示的URL:

https://example.com/api.php?getUser=12
https://example.com/api/user/12
但我正试图归档如下内容:

https://example.com/api.php?getUser=12
https://example.com/api/user/12
我试过这样的东西

RewriteEngine on
RewriteRule api/user/ api.php?getUser=

但我很确定我做错了什么,我想知道这是否有可能(我不熟悉htaccess)。

您的
重写规则不完整,与输入URL不匹配。您需要将用户ID添加为正则表达式:

RewriteRule ^api/user/([0-9]+)/?$    api.php?getUser=$1    [L]
正则表达式是
([0-9]+)
部分。它匹配至少包含一个数字的任何数字。重写URL时,Apache将获取该数字并将其放置在
$1
占位符处

请注意,
[L]
是一个重写规则标志。这意味着,如果此规则匹配,则不会处理进一步的规则