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

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

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

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

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

1回答

1716閲覧

htaccessでのデバイス別リダイレクトについて

IGE

総合スコア46

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

.htaccess

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

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2019/12/24 23:10

編集2022/01/12 10:55

すみません。知識がなく恐縮ですが、
以下のような場合で、どのようにリダイレクト書けばいいでしょうか。。

【PC】
https://example.com/hoge/index.html

【SP】
https://example.com/sp/hoge/index.html

PCページにスマホでアクセスでSPにリダイレクト
SPページにPCでアクセスでPCページにリダイレクト
とそれぞれ振り分けたいです。

PCで以下のように書いて

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC] Redirect temp /article/hoge/index.html https://example.com/sp/hoge/index.html </IfModule>

SP側では逆のように書いてもリダイレクトループ?になりますよね。。
調べてみたのですが、いまいち分からず、、

どのように書けばいいのでしょうか。。

よろしくお願いいたします

追記:
大事なことを書き忘れていました。。
サイトはWordPressになり、PCとSPでそれぞれサイトがある形になります。。

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

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

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

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

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

guest

回答1

0

こちらのサイトのコードが大変わかりやすいです。

htaccess

1

RewriteEngine on

RewriteCond %{REQUEST_URI} !/sp/

RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone)
RewriteRule ^(.*)$ sp/$1 [R]
RewriteBase /

RewriteCond %{REQUEST_URI} /sp/

RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|iPad|Android|Windows\ Phone)
RewriteRule ^sp/(.*)$ $1 [R]
RewriteBase /

投稿2019/12/24 23:29

編集2019/12/24 23:29
kyoya0819

総合スコア10429

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

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

IGE

2019/12/24 23:44

ご回答ありがとうございます。すみません。もう少し教えてください。。 いただいたコードの場合、 ファイル名の前にsp/を追加するようになっていますが、 spの下にディレクトリを挟みます。 https://example.com/sp/hoge/index.html その場合、どのように書けばいいのでしょうか。。 また、いただいたコード試しに貼ってみましたが以下エラーがでます。 Additionally, a 302 Found error was encountered while trying to use an ErrorDocument to handle the request. エラー文の意味も分からず、、 よろしくお願いいたします。
kyoya0819

2019/12/25 00:42

1番上のディレクトリにはりましたか? 通常はHTTP302は表示されないはずです。 またディレクトリ云々も全てのファイルがsp/を挟むようなコードになっています。
IGE

2019/12/25 01:20

大事なことを書き忘れていました。。 サイトはWordPressになります。 申し訳ありません。。 PCとSPでそれぞれ別サイトがある形になります。。 貼ってみましたが動かないです。。
kyoya0819

2019/12/25 01:26

なるほど、WordPressはルーティング系で動かないのでしょう。 これってリダイレクトする理由ってありますか?
IGE

2019/12/25 02:00

ご回答ありがとうございます。 既存の静的サイトのWP移行でして、既存のディレクトリ構成とリダイレクト設定を引き継ぎたい形になります。。 WP入れたら元のリダイレクト動かなく... なんとかできないかと自分でやってますが如何せん知識が不足しており... 構成維持とリダイレクトは必須な感じです。。
kyoya0819

2019/12/25 02:01

wpはルートディレクトリに入ってますか?
IGE

2019/12/25 02:15

いえ、ルートにはなく/hoge/にそれぞれ入っている形になります。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問