vue - angularjs是什么




刷新页面给出“页面未找到” (4)

伟大的博客文章在这里... http://ericduran.io/2013/05/31/angular-html5Mode-with-yeoman/

“这主要是因为你的AngularJS路由不是实际的html页面,例如,如果你的angular应用中有一个路由到/ create-order,这个url可以正常工作,如果你从app里面链接到它,用户试图直接进入该页面的服务器将返回一个404。

我有一个应用程序,它使用单个ng视图和多个控制器和视图。 如果我浏览根目录,例如:www.domain.com,一切正常。 除了如果我按Ctrl + R(刷新),那么它给了我404错误页面找不到。 例如:在这个页面刷新给我错误。 http://domain.com/item/1/

但是,如果我使用hashbang访问该页面,那么它的工作原理如下: http ://domain.com/#!/item/1/

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


这是URL重写(IIS)的.NET版本

<system.webServer>
    <rewrite>
      <!--This directive was not converted because it is not supported by IIS: RewriteBase /.-->
      <rules>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^index\.html" ignoreCase="false" />
          <action type="None" />
        </rule>
        <rule name="Imported Rule 2" stopProcessing="true">
          <match url="." ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

我无法评论,但也使用HTML modebase href="/"sudo a2enmod rewrite ,使用.htaccess重写。 我必须AllowOverride All在您的网站 /etc/apache2 apache.conf


    <ifModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_URI} !index
      RewriteCond %{REQUEST_URI} !.*\.(css  js|html|png)
      RewriteRule (.*) index.html [L]
    </ifModule>

使用这个.htaccess