【问题标题】:AngularJS page not working when refresh/share a link刷新/共享链接时AngularJS页面不起作用
【发布时间】:2015-07-10 11:56:37
【问题描述】:

我有一个网页,它运行良好。当我需要刷新页面或尝试与某人共享链接(甚至在新选项卡中打开它)时,问题就开始了。

当我尝试这样做时,页面不起作用。它只加载页眉、页脚等。但不是我的ng-view 中的部分,也没有 css 类等......

另外,我在 AngularJS 中使用 html5 模式和这段代码:

$locationProvider.html5Mode({
    enabled:true
});

我尝试使用 .htaccess 重新加载页面并且它正在工作,但仅适用于第一个链接。例如site.com/News 加载正常,但如果我尝试刷新/共享页面site.com/News/4(转到单个新闻页面),那么它将不再工作。

这是我在.htaccess 文件中使用的代码

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)       /index.html
</IfModule>

【问题讨论】:

    标签: angularjs .htaccess


    【解决方案1】:

    试试这个:

    RewriteEngine On  
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    RewriteRule ^ /index.html
    

    【讨论】:

    • 现在当我尝试刷新任何页面时出现错误。 The requested URL /index.html/ was not found on this server.
    • 它在链接上工作正常,但是当我需要打开单个新闻时,例如,通过它自己的id"site.com/news/23" 然后它不起作用。
    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多