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

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

新規登録して質問してみよう
ただいま回答率
85.50%
SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1774閲覧

SPAなのでNginxのrewriteを使った結果、Googleにインデックスされない

makkuro

総合スコア57

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

1クリップ

投稿2019/08/29 01:48

#環境
Webサーバ: Nginx
フロントエンド: React
ルーティング: React-Router

#経緯
React-Routerを使っていても、Nginxの設定を何もしていないと、ホーム以外の場所でリロードしたりしたときに404エラーになります。なぜかというと、

  1. https://example.com/にアクセス → サーバから/index.jsを取得
  2. https://example.com/Aに移動

--ここでリロードする--
3. https://example.com/Aにアクセス → サーバから/A/index.jsを取得
/A/index.jsは存在しないので404

ということになるからです。なので、Nginxでhttps://example.com/*は全てhttps://example.com/にrewriteしています。

#問題
なぜかホーム以外がGoogleにインデックスされないので見てみると、
「ページにリダイレクトがあります」
という理由でインデックスがされていませんでした。

#必要な情報
https://example.com/*の全てのアクセスに/index.jsを返すということと、Googleにインデックスされることの2つの条件を満たしたいです。

Nginxでリダイレクトではない方法で、全てのアクセスに対し同一のファイルを返す方法を教えていただきたいです。
https://example.com/contents/12345のように複数の階層と大量のパラメータがあるので、Webサーバに全てのディレクトリを用意するのは現実的ではないです。

とても困っています。よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

try_filesを使いましょう(参考)。リダイレクトなしで、存在しないファイルに対して同じレスポンスを200で返せるようになります。

投稿2019/08/29 02:26

maisumakun

総合スコア145123

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

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

makkuro

2019/08/29 02:32

できました!! ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問