【发布时间】:2015-06-01 17:12:39
【问题描述】:
我为 api 使用 angular.js 和 slim 框架。我的目录结构是
root/
api/
frontend/
.htaccess
在根目录我有.htaccess 文件
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/frontend/$1 !-d [NC]
RewriteCond %{DOCUMENT_ROOT}/frontend/$1 !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /frontend/index.html [L]
RewriteCond %{DOCUMENT_ROOT}/frontend/$1 -d [NC,OR]
RewriteCond %{DOCUMENT_ROOT}/frontend/$1 -f
RewriteCond %{REQUEST_URI} !^/frontend/ [NC]
RewriteRule ^(.*)$ /frontend/$1 [L]
它工作正常,但是当我尝试获取不存在的文件时,apache 返回 index.html 和 status 200 OK 而不是 404 的内容,所以这样的代码
<script src="/thisFileDoesntExists.js"></script>
将返回index.html 的内容。 404报错文件如何重调?
【问题讨论】:
标签: php angularjs apache .htaccess mod-rewrite