当前位置: 首页 > 面试题库 >

刷新页面显示“找不到页面”

司马奇希
2023-03-14
问题内容

我有一个应用程序,它使用一个ng-view和多个控制器和视图。如果我浏览根目录,例如:www.domain.com,则一切正常。除非我按Ctrl +R(刷新),否则会显示404错误页面未找到。例如:刷新此页面给我错误。http://domain.com/item/1/。

但是,如果我使用hashbang访问页面,则它可以工作。例如:http://domain.com/#!/item/1/

我该如何解决这个问题?我的空手道是空的。我使用支持html5 hashbang的chrome。


问题答案:

当浏览器调用时http://example.com/#!/item/1/,它正在调用的索引页http://example.com/,然后您的JS通过分析主题标签来确定要显示的内容。

当浏览器调用时http://example.com/item/1/,您的服务器正在尝试提供的索引页http://example.com/item/1/,但是找不到该索引页,因此会引发404错误。

要实现您想要的目标,您要么需要:

  • 创建重写规则以重写指向根索引页面的链接
  • 调整您的JS,以便它生成井号而不是URL。如果您使用的是AngularJS $locationProvider.html5Mode(false);,请使用或关闭html5模式
  • 将索引页放在http://example.com/item/1/重定向到的页面http://example.com/#!/item/1/-但是请注意,您创建的每个/ prettyPath /都需要重复执行此操作。

假设您正在使用Apache,并且索引文件为index.html,请在尝试其他两种解决方案之一之前,尝试将以下内容添加到.htaccess文件中以创建重写规则。

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

如果您使用的是不带服务器端逻辑的纯AngularJS /Ajax解决方案,请将index.php更改为index.html(或index.htm,具体取决于您的根索引文件名)。



 类似资料:
  • 我想运行一个selenium测试,当单击旧页面中的按钮时,它是否导航到新页面。然后我想测试当新页面中的按钮被点击时,它是否导航回旧页面。 当我单击第一页上的按钮并检查新页面上的按钮元素是否出现时,测试工作正常。但是当我使用selenium点击第二页上的button元素,检查第一页上的button元素是否已经出现时,它没有找到第一页上的button元素,尽管我第一次使用相同的button元素去第二页

  • 问题内容: 我有一个文件,其中我在页面顶部显示外部页面(使用iframe),其他部分是写在文件中的html代码的输出。 HTML代码如下所示: 现在,我想以编程方式刷新页面而不刷新。 我的问题是我可以不刷新页面就刷新页面吗? 答案/提示将不胜感激。 问题答案: 该嵌在主HMTL页面(或在JSP)。因此,如果刷新页面,则肯定会再次加载iframe。 为了避免这种情况,我可以考虑以下两种选择: 使用A

  • 问题内容: 这有可能吗? 这是问题所在: 我有一个使用此URL的关键字搜索(搜索后):http:// localhost / thi / search?keyword = key 然后我有一个使用AjaxForm插件(jquery)的滑块搜索… 当我执行滑块搜索时,显然我仍然会在关键字搜索URL中(因为请求是通过ajax发送的) 有没有办法将当前网址更改为类似http:// localhost /

  • 我是Javascript新手——每次刷新页面时,我都会尝试以不同的顺序重新加载页面上的图像——这样每次访问都会有一个新的网站安排。 类似于这里所做的:pauljung.co.uk 这里使用的函数是MathRandom,它可以调整图像的大小,并在加载时将图像放置在不同的位置。但是,我想知道如何准确地将图像调用到页面的HTML主体上? 我尝试在主体中放置一个间隔gif,并将其链接到id=picture

  • Iam正在使用ionic应用程序编辑配置文件和查看配置文件。编辑编辑页面的详细信息后,它将导航到查看配置文件页面。 我希望在导航后刷新查看配置文件页面。 这是editprofile.ts代码: 首先我用下面的导航 通过谷歌搜索,我添加了这个来在导航后刷新视图配置文件 现在发生的是,首先它被重定向到查看个人资料页面,并且没有刷新,它直接重定向到主页,主页被刷新。 请帮助我如何在从“编辑配置文件”页面

  • 问题内容: 我在JSF页面中有这3个字段 我也有一个具有以下属性的后备豆: 我希望在将某些值插入字段val1和val2中而不刷新页面时,outputText元素自动更改其值。结果变量应以这种方式计算(它正在计算百分比):(val1 * val2)/ 100 您能帮我解决我的一些疑问吗?: 我知道为此,我需要javascript或AJAX之类的东西。您认为最好的方法是什么? 我很想知道我如何使用AJ