AngularJS 导航到路线在 Apache 中给出 404
AngularJS navigating to a route gives 404 in Apache
当使用 Angular Apache myserver.com
加载页面时一切正常,当从主页 myserver.com/credits
通过单击 link 进入子路径时它'也会工作。
但是,如果我尝试从浏览器导航栏直接转到 myserver.com/credits
,它将 return 一条 404 error
消息:
我知道,通过使用节点,我可以对其进行配置以使其正常工作,但是,我公司的网站在我无权访问的 apache 服务器中运行。
我可以让服务器重定向到主页 myserver.com
,如下所示:
.htaccess
ErrorDocument 404 /index.html
然而,最佳解决方案是 myserver.com/credits
完全有效。
有没有办法让 Apache 以这种方式运行?如果是这样,怎么做?
可以在这里找到解决这个问题的答案:
我已将此问题标记为重复。我已经对其进行了测试,并且效果很好。
特别感谢Kevin B for directing me to the answer, and to Rajasaur提供答案
在根目录中创建一个 .htaccess 文件(如果不存在)。
然后在里面添加如下代码
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# not rewrite css, js and images
RewriteCond %{REQUEST_URI} !\.(?:css|js|map|jpe?g|gif|png)$ [NC]
RewriteRule ^(.*)$ /index.html?path= [NC,L,QSA]
当使用 Angular Apache myserver.com
加载页面时一切正常,当从主页 myserver.com/credits
通过单击 link 进入子路径时它'也会工作。
但是,如果我尝试从浏览器导航栏直接转到 myserver.com/credits
,它将 return 一条 404 error
消息:
我知道,通过使用节点,我可以对其进行配置以使其正常工作,但是,我公司的网站在我无权访问的 apache 服务器中运行。
我可以让服务器重定向到主页 myserver.com
,如下所示:
.htaccess
ErrorDocument 404 /index.html
然而,最佳解决方案是 myserver.com/credits
完全有效。
有没有办法让 Apache 以这种方式运行?如果是这样,怎么做?
可以在这里找到解决这个问题的答案:
我已将此问题标记为重复。我已经对其进行了测试,并且效果很好。
特别感谢Kevin B for directing me to the answer, and to Rajasaur提供答案
在根目录中创建一个 .htaccess 文件(如果不存在)。 然后在里面添加如下代码
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# not rewrite css, js and images
RewriteCond %{REQUEST_URI} !\.(?:css|js|map|jpe?g|gif|png)$ [NC]
RewriteRule ^(.*)$ /index.html?path= [NC,L,QSA]