###前提・実現したいこと
.htaccessで301リダイレクトをしたい
###発生している問題
.htaccessでサブディレクトリ型URLからサブドメイン型URLへの301リダイレクトを試みています。
転送元URLはhttp://www.example.com/hoge/(PCサイト用ページ)
この/hoge/の中に/s/というフォルダを作り、スマホ用のページにして、ユーザーエージェントで切り替えていました。
転送先URLはhttp://hoge.example.com/でレスポンシブサイトにしてあり、メディアクエリで切り替えをしています。
http://www.example.com/hoge/(PCサイト)または
http://www.example.com/hoge/s/(スマホサイト)
どちらからアクセスがあってもhttp://hoge.example.com/に転送するようにしたいです。
現状PCサイトは正常にhttp://hoge.example.com/に転送できているのですが、
スマホサイトはhttp://hoge.example.com/s/と最後に/s/がついてしまいうまくいっていません。
.htaccessは下記のように記述してあります。
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # リクエストしたURLに下記がが含まれず RewriteCond %{REQUEST_URI} !/s/|/aaa/|bbb.html|ccc.html|ddd.html|eee.html # 下記端末からアクセスがあった時 RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC] # URL末尾に「?mode=pc」がついていない場合 RewriteCond %{QUERY_STRING} !mode=pc # 「/s/」以下へリダイレクト RewriteRule ^(.*)$ /s/$1 [R,L] RewriteRule ^hoge/(.*)$ http://hoge.example.com/$1 [R=301,L] </IfModule> ErrorDocument 404 /404.html
1行目から11行目までがサブディレクトリ型URLのスマホサイトへの切り替えへの設定で、12行目が301リダイレクトの設定になっています。
ディレクトリの名前とサブドメインの名前が同じなので、
.htaccessで301リダイレクト(サブディレクトリ→サブドメインにURL変更)
https://www.postit-web.com/2015/07/09/subdomain/を参考にして、
試みてみましたが、うまくいきませんでした。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/21 21:51