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

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

新規登録して質問してみよう
ただいま回答率
85.37%
.htaccess

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

Q&A

解決済

1回答

133閲覧

htaccessでPCとSPのページを振り分けたい・Googleの?srsltidというパラメータを外したい

yoda

総合スコア16

.htaccess

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

0グッド

0クリップ

投稿2024/11/20 03:40

実現したいこと

htaccessでPCとSPのページを振り分けているのですが、最近Googleからの流入にsrsltidというパラメータが付くようになってしまい、うまく動作しなくなってしまいました。これを解消したいです。

発生している問題・分からないこと

スマートフォンで以下にアクセスした場合、
https://hoge.com/test/?srsltid=ABC
以下のページへリダイレクトさせるには
https://hoge.com/sp/test/

どのように記述したらよいでしょうか。

該当のソースコード

RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android.*Mobile) RewriteCond %{REQUEST_URI} !^/sp/ RewriteCond %{REQUEST_URI} \?srsltid(.*)$ [OR] RewriteCond %{REQUEST_URI} \.html$ [OR] RewriteCond %{REQUEST_URI} /$ RewriteRule ^(.*)$ https://hoge.com/sp/$1? [R=302,L]

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

terataillでは同様の事例が確認出来ませんでした。
RewriteRule にQSAを入れてみましたが、上手くいきませんでした。

補足

特になし

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

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

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

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

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

guest

回答1

0

ベストアンサー

URLがhttps://example.com/test/?srsltid=ABCの場合、設定文で参照できる変数では、

記述備考
%{REQUEST_URI}/test/URLのパス部分
%{QUERY_STRING}srsltid=ABCURLのクエリー部分

です。
(デフォルト設定ではApacheからCGIに渡る環境変数REQUEST_URI/test/?srsltid=ABCと、別物です)

あとは、要件がきちんと文章化できれば何とでもなります。
例えば、「クエリー部分にsrsltid=という文字列が含まれていれば、クエリー部分を全部削除して、パスの先頭に/spを追加」であれば、

Apache

1RewriteEngine On 2RewriteCond %{REQUEST_URI} !^/sp/ 3RewriteCond %{QUERY_STRING} srsltid= 4RewriteRule ^ /sp%{REQUEST_URI}? [R=302,L]

ですね。スキーム(https:)やホスト名を変更しない場合は省略します。もちろん書いても良いですけど。

https://example.com/test/?q=XYZ&srsltid=ABC&id=123みたいなケースをどうするのかによってはいろいろ追加が必要です。

投稿2024/11/20 11:02

otn

総合スコア85799

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

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

yoda

2024/11/25 02:47

ご回答をありがとうございます! STG環境では上手くいったのですが、本番環境ではうまく遷移してくれずでして、もう少しあれこれやってみようと思います。
otn

2024/11/26 14:09

うまく行かない原因に見当が付いているなら、自力で頑張ることに賛成します。 頑張りましょう!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問