URL「http://www.example.com/a/」にはアクセスできるページが存在するとします。
「http://www.example.com/b/」へのアクセスをhttp://www.example.com/a/で処理しようとして、.htaccessに以下の記述を追加しました。
RewriteEngine on
RewriteRule /b/ /a/
しかし、http://www.example.com/b/にアクセスすると「404 Not Found」エラーが発生してしまいます。
他のアカウント(さくらインターネットの共用レンタルサーバーサービス)では、おなじ設定で動いており、原因が分かりません。
分かる方がいらっしゃいましたら教えてください。
次のような記述で試してください。
作成した.htaccess ファイルは WEBのルートフォルダwwwに入れてください。
特にさくらの場合は RewriteBase の記述がないとうまく動かなかった気がします。
RewriteEngine on
RewriteBase /
RewriteRule b/ a/
http://get.daa.jp/blogn/seo_html.php
全く同じ設定、とのことであれば、
・.htaccessのファイルの位置が間違っている。
・アクセスフラグが、777などになっていない。
・アクセス権の無い場所へのRewriteになっている。
などが考えられます。
アカウントが違う、とのことですので、
・フォルダ名に誤りがある。
・再帰的な設定になっている。
・/でフォルダにアクセスした際に、index.htmなどを表示する
設定が入っていない。
なども考えられます。
そもそも、.htaccessは上位フォルダにありますよね。
/a/の下、とかではないですよね。
また、具体的な設定内容が公開できるならば、その記述を
実際に記載したほうが解決が早いです。記述間違いなども
見つかる可能性がありますし。
例文どおりにやっているつもりでも、ケアレスミスが発生する場合
があります。
ご回答いただきありがとうございました。
回答No3の通り、RewriteRuleで指定した「/b/」を「b/」に変更したところ正常に動作しました。
お礼申し上げます。
次のような記述で試してください。
作成した.htaccess ファイルは WEBのルートフォルダwwwに入れてください。
特にさくらの場合は RewriteBase の記述がないとうまく動かなかった気がします。
RewriteEngine on
RewriteBase /
RewriteRule b/ a/
ご回答いただき、ありがとうございます。
ご指摘の通りRewriteRuleの「/b/」を「b/」に変更したところ正常に動作しました。
助かりました。ありがとうございました。
ご回答いただき、ありがとうございます。
ご指摘の通りRewriteRuleの「/b/」を「b/」に変更したところ正常に動作しました。
助かりました。ありがとうございました。