Apache RewriteRule排除特定路径

时间:2016-08-19 14:14:38

标签: apache .htaccess mod-rewrite

我有一个htaccess文件,它将所有请求重定向到index.html。我需要它因为我有一个单页应用程序。我需要从中排除一条路径。我尝试的方式不同但到目前为止没有运气。

这是我的htaccess

RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]

  RewriteRule ^ /index.html [L]

路径我想排除它/ user-api而不是像/ user-api那样有多个参数?id = 123& cro = 123

知道如何做到这一点。

1 个答案:

答案 0 :(得分:1)

您可以在第一个排除规则中添加一个OR条件:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/user-api/?$ [NC,OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]

RewriteRule ^ /index.html [L]