質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

0回答

1566閲覧

SPA用の.htaccessの設定について

yakumomutsuki

総合スコア12

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2019/08/11 04:46

前提

Vue.jsにて開発をしております。
Vue-cliに乗っりルーティング、サーバーはApacheとなっており、.htaccessを利用して、リロード時にも404とはならないよう設定を施したいです。

# package.json、すべては記載しておりません dependencies "vue": "^2.6.10", "vue-router": "^3.0.3", "vuex": "^3.0.1", devDependencies "@vue/cli-plugin-babel": "^3.8.0", "@vue/cli-plugin-eslint": "^3.8.0", "@vue/cli-plugin-unit-mocha": "^3.8.0", "@vue/cli-service": "^3.8.0",

以下のようなディレクトリ構成となっています

root/  ├ dist/  │ ├ hoge/  │ │  └ index.html  │ ├ fuga/  │ │  └ index.html  │ ├ foo/  │ │  └ index.html  ├ src/ # vueのリソース  ├ public/ # vueのテンプレートファイル  ├ node_modules/ ...  └ vue.config.js

たとえば現在のドメインが https://sample.vue.co.jp 、パスが hoge の場合、https://sample.vue.co.jp/hoge にてリロードすると、404とならないこと。
パスが fuga の場合、https://sample.vue.co.jp/fuga にてリロードしても、404とならないこと。
パスが fuga/fuga01 の場合、https://sample.vue.co.jp/fuga/01 にてリロードしても、404とならないこと。

該当のソースコード

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(hoge.*)$ dist/hoge[QSA,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(fuga.*) dist/fuga/index.html [QSA,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(foo.*)$ dist/foo/index.html [QSA,L] </IfModule>

試したこと

RewriteRule ^(.*) dist/fuga/index.html [QSA,L]

のようにすれば、リロードが行われても、問題なくうごきますが、すると foo では想定外(fuga)のページに遷移されてしまうため、それは行いたくない。

いろいろ試したのですが、解決策が見つからないためご教示願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問