1285805854 さくらインターネットのサブドメインでのmod_rewriteの設定に関するご質問です。

http://www.sakura.ad.jp/

①mod_rewriteで.htaccessに↓以下のように設定し

RewriteEngine on
RewriteBase /mb

RewriteRule team\/detail\/(.*)\/? team/.detail.php?team_id=$1 [QSA,L]

②以下のような変換を行ないたいのですが「ページがない」と判断されます。

mb.example.com/team/.detail.php?team_id=999

mb.example.com/team/detail/999

③同じ設定でも以下のアドレスにアクセスすると正常に参照できます。

www.example.com/mb/team/detail/999

④さくら以外のサーバーも契約しているのですが、そちらでは同様の設定でも
サブドメインで問題なく動作します。

⑤以下のページでマルチドメインに関する注意がありますが
こちらも問題ありません。(サブドメインとは関係ない?)
http://faq.sakuratan.com/wiki/wiki.cgi?.htaccess#i25

お心当たりのある方ご教授のほど宜しくお願い致します。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2010/09/30 09:17:35
  • 終了:2010/09/30 11:02:37

ベストアンサー

id:tezcello No.2

tezcello回答回数457ベストアンサー獲得回数682010/09/30 09:54:48

ポイント50pt

3.がうまくいくのは当然だと思います。

.htaccess の記述は、ホームページ直下の mb ディレクトリでの書き換えだと思うので。


mb.example.com/team/detail/999

mb.example.com/mb/team/.detail.php?team_id=999

へ書き換えられて、/mb/mb/team/.detail.php を探しにいってしまうとか。


RewriteBase を使わずに、/mb/team/.detail.php?team_id=$1 とするのはいかが?


さくらは、mod_rewrite で何となく不可解な挙動をするような気がします。自サイトのページより上位でなにやら指定されているような...

id:gelgelgel

ご回答ありがとうございます。

>RewriteBase を使わずに、/mb/team/.detail.php?team_id=$1 とするのはいかが?

上記試したのですがうまくいきませんでした。

でその後他ページもあたってみたのですが↓を参考に

http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html

RewriteRule team\/detail\/(.*)\/? http://mb.example.com/team/.detail.php?team_id=$1 [QSA,L]

としたところ読み込めるようになりました!!

結局はtezcelloさんのご指摘の通りパスが違っているので読み込めなかったようです。

ありがとうございました。

2010/09/30 11:02:06

その他の回答(1件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492010/09/30 09:30:18

ポイント20pt

(1)と(2)では逆の関係になってます

(2)の変換を行いたいなら(1)は下記のような具合になると思いますよ

RewriteRule team\/detail\.php?team_id=(.+)$ team/detail/$1 [QSA,L]
id:gelgelgel

ご回答ありがとうございます。

私の書き方が悪かったのかも知れませんが

mb.example.com/team/.detail.php?team_id=999

で参照できる内容を

mb.example.com/team/detail/999

でも見れるようにしたいという意味で記述の順番自体は間違っていないと思います。

問題にしているのは「メインのドメインではちゃんと見れるのにサブドメインでは見れないのはなぜなのか?」

ということです。

2010/09/30 10:43:15
id:tezcello No.2

tezcello回答回数457ベストアンサー獲得回数682010/09/30 09:54:48ここでベストアンサー

ポイント50pt

3.がうまくいくのは当然だと思います。

.htaccess の記述は、ホームページ直下の mb ディレクトリでの書き換えだと思うので。


mb.example.com/team/detail/999

mb.example.com/mb/team/.detail.php?team_id=999

へ書き換えられて、/mb/mb/team/.detail.php を探しにいってしまうとか。


RewriteBase を使わずに、/mb/team/.detail.php?team_id=$1 とするのはいかが?


さくらは、mod_rewrite で何となく不可解な挙動をするような気がします。自サイトのページより上位でなにやら指定されているような...

id:gelgelgel

ご回答ありがとうございます。

>RewriteBase を使わずに、/mb/team/.detail.php?team_id=$1 とするのはいかが?

上記試したのですがうまくいきませんでした。

でその後他ページもあたってみたのですが↓を参考に

http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html

RewriteRule team\/detail\/(.*)\/? http://mb.example.com/team/.detail.php?team_id=$1 [QSA,L]

としたところ読み込めるようになりました!!

結局はtezcelloさんのご指摘の通りパスが違っているので読み込めなかったようです。

ありがとうございました。

2010/09/30 11:02:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません