.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]