[解決済み] Angularのルートに対するhtaccessのリダイレクト
2023-06-13 12:37:21
質問
私は、いくつかのルートを持つアンギュラーアプリケーションを持っています。
site.com/
site.com/page
site.com/page/4
angularのhtml5ルーティングモードを使用すると、アプリケーション内からリンクをクリックするとこれらは正しく解決されますが、ハードリフレッシュを行うともちろん404エラーになります。これを修正するために、私は基本的な htaccess の書き換えを実装してみました。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} !OPTIONS
RewriteRule ^(.*)$ index.html [L]
これはangularのリクエストには有効ですが、私のドメイン内でスクリプトをロードしたり、ajaxコールをしようとすると、次のようになります。
<script src="/app/programs/script.js"></script>
このスクリプトはロードされません。リクエストがリダイレクトされ、.htaccess がリクエストをリルートすべきと考えているように index.html ページをロードしようとします - このファイルが存在することを知らないので、リダイレクトではなくファイルをロードすべきです。
解決すべき実際のファイルがない場合にのみ、htaccess に index.html (ビュー パラメータ付き) に要求をリダイレクトさせる方法はありますか?
どのように解決するのですか?
のようなスニペットを使用します。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
これは、実際のリソースがある場合はそのリソースにスキップし
index.html
にスキップします。
関連
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] AngularJSのng-showとフェードアニメーション
-
[解決済み] ng-pattern` - 数字だけをチェックする方法は?
-
angularjs統合ueditor入門
-
[解決済み] AngularJs .$setPristineでフォームをリセットする
-
[解決済み] Ui-srefがクリッカブルリンクを生成しない/動作しない
-
[解決済み] HTMLページからのリダイレクト
-
[解決済み] jQuery Ajax呼び出し後のリダイレクトリクエストを管理する方法
-
[解決済み] 汎用htaccessのリダイレクトwwwから非wwwへ
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angular ui-routerで$stateメソッドを$stateChangeStart toStateとfromStateで使用する。
-
[解決済み] angularJSのSTATEを理解する
-
[解決済み] プリフライト応答が成功しない
-
[解決済み] Angular JS $locationChangeStart 次の url ルートオブジェクトを取得する
-
[解決済み] ajaxリクエスト時にAngularjsのローディング画面が表示される。
-
[解決済み] ng-repeat内で$indexを使用して、クラスを有効にしてDIVを表示するにはどうすればよいですか?
-
[解決済み] AngularJsでng-Cloakディレクティブを実際に使用する方法とは?
-
[解決済み] AngularJs .$setPristineでフォームをリセットする
-
[解決済み] 入力フィールドにフォーカスを当てるには?
-
[解決済み] AngularJSのHTML5モードでページを再読み込みすると、間違ったGETリクエストが表示される