1

概要 :

ディレクトリ構造内のデフォルト ページ (index.html) で訪問者をリダイレクトして、ファイルを使用してディレクトリにアクセスしたときに表示したいと思い.htaccessます (現在、現在のディレクトリ index.html が読み込まれています)。

$locationProvider.html5Mode(true)しかし、角度のあるアプリケーションでオンにすると、エラーが発生します。

コンソール エラー:

ここに画像の説明を入力

アプリケーションのディレクトリ構造:

public_html
  --prod
    --public
      --app
        --controllers
        --directives
        --services
        --app.config.js
    --index.html
  --.htaccess
.htaccess

public_html => .htaccess :

DirectoryIndex prod/public/index.html

これ.htaccessは、ドメイン名を使用してアプリケーション ページ ( prod/public/index.html) の訪問者を直接リダイレクトするために使用されます。現在、ユーザーがドメインにアクセスすると、現在のディレクトリ ( public_html) index.html が読み込まれます。

public_html => prod => .htaccess :

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /prod/public/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*) /prod/public/#/$1 
    RewriteCond %{HTTP_HOST} ^example.com [NC]
    RewriteRule ^(.*)$ http://www.example.com/prod/$1 [L,R=301]
</IfModule>

prod => public => index.html :

<base href="/prod/public/">

$locationProvider.html5Mode(true)ファイルから削除すると、すべて正常に動作します。そのため、コードapp.config.jsをコメントアウトすると、すべてがモードで正常に動作します。などには問題なく行けます。部品を入れ直しても何も起こりません。$locationProvider#/#/abc$locationProvider

成功しなかった Stack Overflow の関連する問題:

$locationProvider.html5Mode(true) の問題

ApacheでAngular html5モードが機能しない

4

1 に答える 1