HTACCESS重写用于RESTFUL API



我正在创建一个基于静止的API,并且AM卡在HTACCESS重写规则上。

我目前正在使用以下方式:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !(.*).(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC]
RewriteRule ^(.*)$ index.php?handler=$1 [QSA,L]
</IfModule>

哪个有效,但是我希望它排除文件扩展目录,而当前排除没有任何区别。

,例如

  • /api/object/1/列表有效
  • /Api/object/test.php/js/css等。无效

谢谢。

您的RewriteCond在所有随附的扩展之前都包含.

从您的病情中删除.,它应该像这样工作。

RewriteCond %{REQUEST_URI} !(.*)(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC]

确实要注意,您将无法在方法/对象名称或方法/对象名称中使用这些扩展名称结尾。

您也可以省略(。*),那么您的病情将是:

RewriteCond %{REQUEST_URI} !.(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC]

最新更新