我正在尝试使用 AngularJS 设置 apache 2.2,其结构与以下封闭问题中的结构几乎完全相同。
重写 apache 2 的规则以与 angular js 一起使用
我想将所有请求重定向到 app/index.html,但对 /api 的请求除外。
我的目录结构如下
- /
- /应用程序
- /app/index.html
- /应用程序/css
- /app/js
- /api
我正在尝试在 httpd-vhosts 文件中应用这些重定向规则,该文件已发布为问题的正确答案https://stackoverflow.com/a/15284848/671095。
<VirtualHost *:80>
ServerName www.test.com
DocumentRoot "C:/websites/test"
Alias /CFIDE "C:/websites/CFIDE"
RewriteEngine On
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !/api
# otherwise forward it to index.html
RewriteRule ^.*$ - [NC,L]
RewriteRule ^app/. /app/index.html [NC,L]
</VirtualHost>
但是,当我尝试在浏览器中访问 / 时,我会看到一个空白屏幕。如果我在浏览器中输入 /app/index.html,但是我可以在浏览器中查看 html 页面,但无法访问 css.or js 并返回 404。
我一直对此发疯,这似乎是一个简单的事情来完成 apache 重写。
任何帮助将非常感激