角度2路由.htaccess
我的路线有些问题。它可以在本地主机上正常工作,但当我将它放在服务器上并刷新页面时,会出现404错误角度2路由.htaccess,.htaccess,angular,routing,angular2-routing,.htaccess,Angular,Routing,Angular2 Routing,我的路线有些问题。它可以在本地主机上正常工作,但当我将它放在服务器上并刷新页面时,会出现404错误 因此,我制作了一个.htaccess文件,并将其放在与我的index.html相同的位置: RewriteEngine On # If an existing asset or directory is requested go to it as it is RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] RewriteCond %{DOCUM
因此,我制作了一个
.htaccess
文件,并将其放在与我的index.html
相同的位置:
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
但它仍然不起作用我做错了什么?
我需要在我的角度路线中添加一些东西吗?
有人能帮忙吗
尝试删除重写规则
替换上的斜杠前缀。例如:
RewriteRule ^ index.html [L]
# Allow any request for CSS, JS and images straight through...
RewriteRule .\.(css|js|jpe?g|png|gif) - [L]
现在,这是相对于当前目录(index.html文件所在的目录)而不是文档根目录的
请注意问题的原因,但是
%{DOCUMENT\u ROOT}%{REQUEST\u URI}
与%{REQUEST\u FILENAME}
相同,因此更常见的情况是将其写成:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
但是,在这之前加上一个已知资产的文件扩展名检查将更有效,以避免必须检查每个请求以确定它是文件还是目录(这相对比较昂贵)。例如:
RewriteRule ^ index.html [L]
# Allow any request for CSS, JS and images straight through...
RewriteRule .\.(css|js|jpe?g|png|gif) - [L]
“把它和我的index.html放在同一个地方”-“同一个地方”到底在哪里?子目录?文档根目录?请稍候。。。您是否只是为了解决404错误而实现了这个
.htaccess
文件?您的localhost
上没有.htaccess
文件吗?我将尝试@w3dk,但是否有其他人认为我也需要这样做?我是否还需要添加其他内容?我不知道您是否需要添加“其他内容”。但是您说它在本地主机上工作正常,但在服务器上没有,并显示了您的.htaccess
。我上面提到的一件事可能会阻止它在实时服务器上工作。你还没有回答我上面的问题。。。这个.htaccess
文件在哪里?我现在使用Heroku来托管我的应用程序。htaccess文件现在与索引位于同一映射中,这就是映射模板/freemarker