人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

さくらインターネットのサブドメインでの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

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

1285805854
●拡大する

●質問者: gelgelgel
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess example.com MB mod_rewrite ON
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●20ポイント

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

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

RewriteRule team\/detail\.php?team_id=(.+)$ team/detail/$1 [QSA,L]
◎質問者からの返答

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

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

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

で参照できる内容を

mb.example.com/team/detail/999

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

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

ということです。


2 ● tezcello
●50ポイント ベストアンサー

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 で何となく不可解な挙動をするような気がします。自サイトのページより上位でなにやら指定されているような...

◎質問者からの返答

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

>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さんのご指摘の通りパスが違っているので読み込めなかったようです。

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ