質問: ### 前提・実現したいこと はじめまして、独学でホームページ作成をしている者です。 レシポンシブデザインがまだ出来ないため同一URLでの振り分けを考えています。 色々と調べてみたら.htaccessを使えば振り分けが出来るとのことで、 エックスサーバーにある.htaccessを編集しiPhoneで確認をしたところ404エラーが出てしまいました。 どうすれば振り分けが上手くいくでしょうか? .htaccessというフォルダを作るということでしょうか。 何日も調べてみたのですが分からなく困っています。 ### 発生している問題・エラーメッセージ ``` 404エラー ``` ### 該当のソースコード ``` RewriteEngine on RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone) RewriteRule ^(.*)$ /sp/$1 [L] ``` ### 試したこと エックスサーバーの.htaccesee編集に元から書いてあるソースコードを消してみたりしました。 ### 補足情報(FW/ツールのバージョンなど) フォルダ構成 ドメイン ├ index.html (PCサイト) └ sp └ index.html (SPサイト) SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode RewriteEngine onPH RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone) RewriteRule ^(.*)$ /sp/$1 [L] こちらが.htaccessのパスです。 フォルダを作らないといけないとかはありますか? エックスサーバーの.htaccessを編集しかしていないので。。 404エラーの意味は理解しておりますが、何者かまではお恥ずかしいですが理解不足です。 PHPなどでも私は十分いいんですがまだまだ勉強不足なので手を出せていない状態です。
回答: リクエストに`/sp/`がない場合で、 かつ、ユーザーエージェントに `(iPod|iPhone|iPad|Android|Windows\ Phone)`が含まれる場合は ファイル名の前に`/sp/`を付け足したURLにリダイレクトする。 というルールのようですので、`/sp/`フォルダがきちんと存在するか、そして、そのフォルダに、index.htmlかindex.phpなどのアクセスできるファイルが存在するか確認してみてください。