Php 从URL中删除?id=

Php 从URL中删除?id=,php,mod-rewrite,Php,Mod Rewrite,我试图从url中删除?id=,并用斜杠(/)替换?id= 我想显示地址: https://localhost/Test/Change.php?id=sd32sdas93ks93kf.553sa 作为: https://localhost/Test/Change/sd32sdas93ks93kf.553sa 我已经成功地从URL中删除了.php,但是?id= 可以访问带有?id=的原始链接。当我导航到没有?id=的页面时,我得到: 在此服务器上找不到请求的URL Test/Change/sd32s

我试图从url中删除?id=,并用斜杠(/)替换?id=

我想显示地址:
https://localhost/Test/Change.php?id=sd32sdas93ks93kf.553sa

作为:
https://localhost/Test/Change/sd32sdas93ks93kf.553sa

我已经成功地从URL中删除了
.php
,但是
?id=

可以访问带有
?id=
的原始链接。当我导航到没有
?id=
的页面时,我得到:
在此服务器上找不到请求的URL Test/Change/sd32sdas93ks93kf.553sa.php

有人知道我怎么解决这个问题吗

这是我的.htaccess:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+Change(?:\.php)?\?id=([a-z\-_0-9]+)/([^/.]+) [NC]
RewriteRule ^Change/%1? [R,L]
RewriteRule ^Change/([a-z\-_0-9]+)/([^/.]+)/?$ Change.php?id=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

@P.Dev可能重复您为什么认为我的问题是重复的?我使用的是“相同的代码”。在我的例子中,代码不起作用。重写日志,结束标志,也许在文章中我也看到了同样的事情。现在还不清楚我做错了什么,以及为什么我的脚本无法运行@P.Dev的可能副本为什么你认为我的问题是重复的?我使用的是“相同的代码”。在我的例子中,代码不起作用。重写日志,结束标志,也许在文章中我也看到了同样的事情。现在还不清楚我做错了什么,以及为什么我的脚本不起作用