我有一个应用程序,它使用单个ng视图和多个控制器和视图.如果我浏览根目录,例如:www.domain.com,一切正常.除非我按下Ctrl + R(刷新),否则它会给我404错误页面找不到.例如:在此页面刷新给我错误. http://domain.com/item/1/.
但是,如果我使用hashbang访问该页面,那么它将起作用.eg:http://domain.com/#!/ item1 /
我该如何解决这个问题?我的htacess是空的.我使用chrome支持html5 hashbang.
我正在尝试使用AngularJS设置apache 2.2,其结构几乎与以下封闭问题的结构完全相同.
我想将所有请求重定向到app/index.html,除了对/ api的请求.
我的目录结构如下
我正在尝试在httpd-vhosts文件中应用这些重定向规则,这些规则已发布为问题的正确答案/sf/answers/1069939391/.
<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>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试访问/在浏览器中时,我会看到一个空白屏幕.如果我在浏览器中输入/app/index.html但是我能够在浏览器中查看html页面,但是没有一个css.or js可以被访问并返回404.
我一直在疯狂,这似乎是一个简单的事情,作为一个apache重写完成.
任何帮助将非常感激