我为我的应用程序的 API 编写了一个简单的正则表达式:
^api/([^/]+)/([^/.]+)\.([^$/?=&]+)(?:\?(.*))?$
这变成
/app/api/$1.php?action=$2&format=$3&$4
在refiddle中,正则表达式完美地工作,构造正确的 URL,但 PHP 脚本没有报告除action
和参数之外的任何 GETformat
参数。放在 / 中的 .htaccess 是
AddType image/svg+xml svg
RewriteEngine on
#If the URL is just /api, give them the docs
RewriteRule ^api/?$ /app/api/apidoc.php [L]
#Example api/user/update.json?x=fff&y=gggg
#http://refiddle.com/2ss
RewriteRule ^api/([^/]+)/([^/.]+)\.([^$/?=&]+)(\?(.*))?$ /app/api/$1.php?action=$2&format=$3&$4 [L]
#Example api/user/update?x=000&y=ffe
RewriteRule ^api/([^/]+)/([^/.&=]+)(\?((.*)*))?$ /app/api/$1.php?action=$2&$3 [L]
提前致谢。