インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる
| ladybugkkk > インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる @ 2013/10/7 11:51 |
|---|
|
こんにちは。はじめて実サイトでBaser CMSを使ってみました。
サイト構築は大体出来たのですが、URLの正規化のところで悩んでいます。 構成としては、今回、 http://www.example.com/baser/ という感じでサブディレクトリにBaser CMSをインストールしました。 http://www.example.com/ 直下には静的HTMLで別のサイトが公開されています。 問題は、 http://www.example.com/baser と、インストールディレクトリにスラッシュなしでアクセスすると、サーバ側が400エラーを返してしまうことです。 http://www.example.com/baser にアクセスされた場合、 http://www.example.com/baser/ にリライトまたはリダイレクトするようにしたいのですが、どのようにすれば良いかお分かりの方がいればアドバイスお願いします。 ※301リダイレクトの記述を /.htaccess、/baser/.htaccess の2箇所で試しましたが変わらずでした。 --------------------------- baserCMS環境 レンタルサーバ: CPI ACE01 スマートURL: ON 設置フォルダ: /usr/home/aa******/html/baser/ セーフモード:Off データベース: MySQL baserCMSバージョン: 2.1.1 CakePHPバージョン: 1.2.12 |
| goichi > Re: インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる @ 2013/10/7 12:56 |
|---|
|
こんにちは(^^
引用: http://www.example.com/baser/ ということですので、baserCMSは「baser」フォルダに入っていますよね。ですので、 http://www.example.com/baser にアクセスしても、そのままでは、おっしゃる通り404が出ると思います。 アイディアとしては、お試しになった通り、 http://www.example.com/ 直下に「.htaccess」を設置するなどして、 baserCMSがインストールされているフォルダ「baser」まで転送をかけるのが良さそうです。 ただし、.htaccess関係はレンタルサーバーによって、 使えない記述もあると思いますし、試したけど動かないという事でしたら CPIに問い合わせるのが一番良いように思います。 (たぶん、baserCMSの問題というより、 .htaccessの書き方の問題になっていくだろうと思うので、ここでは回答が付きにくいかな、と思います) 直接の回答でなくて申し訳ないのですが、 参考までい回答をつけておきます。 |
| ladybugkkk > Re: インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる @ 2013/10/8 10:10 |
|---|
|
回答ありがとうございます。
> http://www.example.com/baser > にアクセスしても、そのままでは、おっしゃる通り404が出ると思います。 いえ404ではなく、400エラーなんです。 なので、通常のリダイレクトが効かず困っているわけです。。。(>_<) ↓こちらで、2010/1/6にbluemさまが報告されている状況に似ているような気がします。 http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=4&forum=2 引用: (1)トップページのURLで次の現象 しかし、結構前のスレッドですし、直接関係あるのかどうか。。。 今回問題のサーバはCPIなのですが、他のサーバではサブディレクトリにインストールしても、ちゃんとスラッシュありでもなしでも表示してくれていますか?? |
| goichi > Re: インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる @ 2013/10/8 15:37 |
|---|
|
こんにちは(^^
引用: 他のサーバではサブディレクトリにインストールしても、ちゃんとスラッシュありでもなしでも表示してくれていますか?? どうでしょうか・・・、そもそもそういう仕様ではないような気がします。 あくまでもサブフォルダ内にインストールしたのであれば、URLでサブフォルダ内にアクセスするように「/」をつけるか、そうでなければ.htaccessで上手にさばくしかないと思います。 |
| goichi > Re: インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる @ 2013/10/8 15:45 |
|---|
|
すみません、エラーの件について、付け加えるのを忘れました。。。
400エラーの件ですが、単純にURLの形式が不正なだけだと思います。(拡張子もスラッシュもない) (400番台のエラーについては、検索すると色々と出てくると思います。 詳しくはそちらをご覧ください) スラッシュがなくてもURLが動くのは、baserCMS内部などルーティングが効いている場所 (今回は「baser」フォルダ内)になると思います。 普通の場所ではエラーになります。 |
| ladybugkkk > Re: インストールしたディレクトリに、スラッシュなしでアクセスすると400エラーになる @ 2013/10/9 17:32 |
|---|
|
goichiさん
情報ありがとうございます! やはり、1つ上の階層で何かしら処理をすることになりそうですね。 おそらくリダイレクトだとダメなので、mod_rewriteを試すことになりそうです。 もう少し試行錯誤してみて、ご報告します! |


