.htaccess 如何处理页面刷新
使用Angular的.htaccess 如何处理页面刷新,.htaccess,angularjs,.htaccess,Angularjs,使用Angular的HTML5模式(true)我可以让我的索引页以/setupurl结尾。这很好,除非访问者点击F5,它会中断,因为/setup目录不存在,它只是一个模拟URL 如何确保角度映射通过index.html正确路由并由Angular读取,而不是服务器尝试加载/setup的索引文件?您必须能够通过mod_rewrite实现这一点。了解drupal如何利用它: 我没有使用Angular,但“重写”可以将url更改为您需要的任何内容。您可以禁用对/setup url的直接访问。通过http
HTML5模式(true)代码>我可以让我的索引页以/setup
url结尾。这很好,除非访问者点击F5,它会中断,因为/setup
目录不存在,它只是一个模拟URL
如何确保角度映射通过index.html
正确路由并由Angular读取,而不是服务器尝试加载/setup
的索引文件?您必须能够通过mod_rewrite实现这一点。了解drupal如何利用它:
我没有使用Angular,但“重写”可以将url更改为您需要的任何内容。您可以禁用对/setup url的直接访问。通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入文档根目录下的.htaccess
:
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]
阿努巴瓦对我的回答很接近。你的应用程序中很可能不仅仅有/设置。。。您可能会有几个URL,根据Anubhava的回答,您必须为每个URL编辑.htaccess
文件。以下是我使用的,它将所有请求转发到索引文件,除非请求的文件/目录实际存在:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} !OPTIONS
RewriteRule ^(.*)$ index.html [L]
</IfModule>
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_METHOD}!选择权
重写规则^(.*)$index.html[L]
刚刚离开,因此没有时间给出正确的答案:)您需要通过.htaccess设置服务器来处理路由。请参见此处->