我正在为我的Slim Api寻找一个RewriteRule来放入.htaccess,允许我使用不同的api版本,例如:
i.e.
v1/something -> v1/index.php
v1/something/something -> v1/index.php
i.e.
v2/something-> v2/index.php
v2/something/something -> v2/index.php
i.e.
p_v1/something-> p_v1/index.php
p_v1/something/something -> p_v1/index.php
项目文件夹结构如下:
提前感谢您的帮助!
修改
这个工作正常:
RewriteRule ^ v1/index.php [QSA,L]
但是只使用v1(正如预期的那样),我需要找到适合每个版本api的东西。
修改2
目前我已经找到一种解决方法,手动添加每个新的api版本:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^v1/(.*)$ v1/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^p_v1/(.*)$ p_v1/index.php
但我仍在寻找自动化的东西。
答案 0 :(得分:0)
您尚未定义初始版本指定后的原始请求URI由此规则处理,因此我假设您在index.php处的脚本处理该问题。
RewriteEngine On
RewriteRule ^/([A-z0-9_\.\-]+)/(.*)$ /$1/index.php [NC]
NB。这将在第一个斜杠之前采用任何字母数字字符(加上下划线和连字符),并将其用作要提供的目录。它还允许在版本指示符之后没有任何内容的请求(如http://example.api.com/v1/
)