【问题标题】:htaccess re-write for restful apihtaccess 为restful api重写
【发布时间】:2017-04-09 08:02:26
【问题描述】:

我正在创建一个基于 RESTful 的 API,但被 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/list 有效
  • /api/object/test.php/js/css 等无效

谢谢。

【问题讨论】:

    标签: php apache .htaccess configuration


    【解决方案1】:

    您的RewriteCond 在所有包含的扩展名之前包含.

    从您的条件中删除\.,它应该像这样工作。

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

    请注意,您将无法在方法/对象名称或以这些扩展名称结尾的方法/对象名称中使用包含的扩展名称。

    【讨论】:

      【解决方案2】:

      你也可以省略 (.*) 那么你的条件是:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-04
        • 2015-03-20
        • 2013-07-04
        • 1970-01-01
        • 1970-01-01
        • 2013-08-02
        • 1970-01-01
        相关资源
        最近更新 更多