概要:の.htaccess
私は$locationProvider.html5Mode(true)
を使用していますAngularJSアプリケーションを持っており、それは、Apacheサーバから提供されます。これまでは、他のソースコードからアクセスするためにソースコードを使用していましたが、私はangularJSのHTML5モードではindex.htmlへのリダイレクトが必要でした。だから/app
フォルダの.htaccess
ファイル用にこれを持っていました。
の.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
# Rewrite everything else to index.html to allow html5 state links
RewriteRule^index.html [L]
</IfModule>
修飾:
I次いで今縮小さ溶液である(APPの/dist
フォルダに生成される溶液全体を縮小化するためのグラントを添加/ app/distにあります)。ユーザーがリンクを変更することなく、アプリのトラフィック全体をミニバージョンにルーティングしたいと考えています。ですから、実際には/ appから/ app/distにすべてのコールをリダイレクトしたいと思います。今
ディレクトリ構造:
app
dist
minified versions(css,html,js)
私は/アプリの.htaccessでhereからいくつかの条件を使用して試してみました/アプリ/ distの中の他の.htaccessファイルを移動し、ない成功を収めました。私は2つがこのように結合できるかどうかも分かりません。代わりに/ appとしてdistフォルダを使うことができると知っていますが、/ appはリポジトリであり、更新するのが簡単です。だから私はどのようにリダイレクトでこれを達成するために管理できますか?
また、フラグを何らかの形で置くことができるので、アルファユーザーは通常の(拡張されていない)バージョンを使用してデバッグを改善できますか?
更新:
私はこのhereのためのサンプルプロジェクトを追加しました。私は上に示した最初の.htaccessファイルを保持しており、上記のように両方のバージョン(/test
と/test/dist
)が動作することを確認できます。また、おそらく未使用のコードと依存関係がありますが、私は自分のプロジェクトから他の部分を削除しました(D:裁判官ではありません)。
AngularJS 1.4.8の初期設定では、hereとhereのようなエラーが発生することがありました。 AngularJSのバージョンを1.5.8(Angular 1の最後の安定版)に更新してください。ただし、Cosmin Ababei's postのコメントも考慮してください。また、このプロジェクトでは、grunt(およびgrunt用のその他の拡張機能)、角型などの基本コンポーネントのインストール、naked版のビルドにnpmを使用しています(実際は同じファイル内のリソースを連結するだけです)。依存関係を変更する必要がある場合は、bower install
を実行することを忘れないでください。 distフォルダを再生成する場合は、npm install
とgrunt build
を必ず実行してください。
RewriteRule^dist/index.html [L] – Fasermaler
しかしリソースはdistフォルダにもありますか? –
ああ、私はそれを見落とした。さて、この時点で私は自分自身をグーグルに絞っていますが、これはあなたの状況(ワードプレスについてですが、それは良い記述です):https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Pointing_your_home_siteのように見えます。 27s_URL_to_a_subdirectory – Fasermaler