忽略htaccess中的文件夹

时间:2017-08-25 19:35:32

标签: angularjs apache .htaccess mod-rewrite

我正在使用AngularJS制作一个webapp。对于路由,我使用了htaccess重写规则来允许直接访问路由页面(例如直接访问/ settings)。但是,我想从此规则中排除一个文件夹,因此我可以检查文件是否存在(现在每个URL返回200)。我已经尝试了所有重写条件和我能找到的规则的组合,但没有运气。

到目前为止,这是我的.htaccess文件

<IfModule mod_rewrite.c>
RewriteEngine On
#Options FollowSymLinks
RewriteBase /

RewriteCond %{REQUEST_URI} !(orders)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]
</IfModule>

ErrorDocument 404 /404.php

我将不胜感激任何帮助

编辑: 我想排除orders

下的所有文件和文件夹

1 个答案:

答案 0 :(得分:0)

尝试

RewriteCond %{REQUEST_URI} !^/orders [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]

%{REQUEST_URI}始终以/开头,因为您没有在正则表达式的开头指定.*之类的内容,所以您必须使用斜杠。我还添加了[NC]标志,以便像#34; / ORDerS&#34;也会被跳过。