.htaccess删除.php并将查询字符串添加为文件夹

.htaccess删除.php并将查询字符串添加为文件夹,php,.htaccess,query-string,Php,.htaccess,Query String,我有以下代码,允许在不使用.php的情况下访问.php文件 RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L,QSA] 所以 http://domain.com/test/page.php 可以加载为 http://domain.com/test/page/ 我想再往前走一步,允许 http://domain.com/test/page.php?id=50575c76-

我有以下代码,允许在不使用
.php
的情况下访问
.php
文件

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L,QSA]
所以

http://domain.com/test/page.php

可以加载为

http://domain.com/test/page/

我想再往前走一步,允许

http://domain.com/test/page.php?id=50575c76-a990-102d-b0ff-3bfb3c3a6c6f

加载为

http://domain.com/test/page/50575c76-a990-102d-b0ff-3bfb3c3a6c6f

id
查询字符串始终是UUID

我还希望允许其他查询字符串工作。例如:

http://domain.com/test/page/50575c76-a990-102d-b0ff-3bfb3c3a6c6f/?a=1&b=2


你知道我该怎么做吗

对于所需的新URI,您需要有一个单独的规则:

RewriteEngine On
Options -MultiViews

RewriteRule ^test/page/([\w-]+)/?$ /test/page.php?id=$1 [L,QSA,NC]

# rule to add `.php` extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]