使用Angular的html5Mode(true);
我可以让我的索引页面以/setup
网址结束。这很好,除非访问者点击F5它会因为/setup
目录不存在而中断,它只是一个模拟的URL。
如何确保Angular映射通过index.html
正确路由并由Angular读取而不是服务器尝试加载/setup
答案 0 :(得分:1)
.htaccess
文件。这是我使用的,它将所有请求转发到索引文件,除非请求的文件/目录实际存在:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} !OPTIONS
RewriteRule ^(.*)$ index.html [L]
</IfModule>
答案 1 :(得分:0)
你必须能够用mod_rewrite实现这一目标。看看drupal如何使用它:http://drupal.org/getting-started/clean-urls
我没有使用过Angular,但重写可以将url更改为你需要的任何内容。
答案 2 :(得分:0)
您可以停用对/ setup URL的直接访问。通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+setup\s [NC]
RewriteRule ^ /index.hml [R=301,L]