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

サブドメインで同じ処理をする場合の構成について教えてください。

今多言語サイトを制作中でトップページは以下のような
ディレクトリ構成になっています。

日本語版:/var/www/xxx.com/index.php
英語版:/var/www/en.xxx.com/index.php

ほぼ同じ処理を行うため英語版の「/var/www/en.xxx.com/index.php」では

<?php
require_once("/var/www/xxx.com/index.php");
?>

として日本語版のファイルをそのまま読み込み、出力時に切り分けて
表示しようと考えておりますが、いまいちスマートさに欠けるように
思われます。

こういった場合はどのように処理を共有するのが一般的なのでしょうか?
ご教授のほど宜しくお願い致します。

●質問者: gelgelgel
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● パパトモ
●100ポイント ベストアンサー

require_onceを使うなら、http.confかhttpacessファイルを使って、メイン・サブドメインともに同じindex.phpにリクエストが行くようにしたらどうでしょうか。index.php側でメインかサブのどちらのリクエストなのか判断して処理すれば良いのではないでしょうか。


gelgelgelさんのコメント
ご回答有難うございます。 .htaccessに記述する場合具体的にはどのように記述すればよいのでしょうか? いろいろ試したのですが上手くいかなかったもので・・。 RewriteEngine on RewriteRule ^(.*)$ http://xxx.com/$1 [R=301,L] RewriteRule ^(.*)$ /var/www/xxx.com/$1 [R=301,L] RewriteRule ^(.*)$ ../xxx.com/$1 [R=301,L] 宜しくお願い致します。

パパトモさんのコメント
とりあえず RewriteEngine on RewriteRule ^/http\://en.xxx\.com/index.php$ /var/www/xxx.com/index.php [R,L] かな・・・ もしくは RewriteEngine on RewriteRule ^/http\://en.xxx\.com/index.php$ /var/www/xxx.com/index.php?lang=en [R,L] とか・・・ 詳しくは説明しないけど、見ていただければ多分分かるかと思います。 ポイントは英語の方を日本語と共有化すればよいので、英語の方だけRewiteすればOKということですね。 ちなみにGETリクエストのパラメータをrewiteするのは難しいのでパラメーターが必要なら、URLエイリアスにすることをお勧めします。 RewriteRule ^/http\://en.xxx\.com/index-php.pram=(.*)$ /var/www/xxx.com/index.php?pram=$1 [R,L] RewriteRule ^/http\://en.xxx\.com/php(.*)\.html$ /var/www/xxx.com/index.php?pram=$1 [R,L] とかね。もしくはPOSTで送信。 mod_rewiteは慣れるととても便利だと思います。

gelgelgelさんのコメント
度々ご回答有難うございます。 ↓こちらの方法で無事設定することができました。 RewriteEngine on RewriteRule ^/http\://en\.xxx\.com/index.php$ /var/www/xxx.com/index.php [R,L] 大変勉強になりました。ありがとうございました。 ※以下メモです。 ============================================================ 最終的には以下のようにしました。 RewriteEngine on RewriteRule ^/http\://en\.xxx\.com/(.*?)$ /var/www/xxx.com/$1 [R,L] またサブドメインは以下バーチャルホストで設定して 「/var/www/xxx.com/en/」に変更しました。 http://blog.mosuke.me/?p=4 文中の↓以下も追記しないと.htaccessが動かなるので注意です。 <Directory "/www/otherdomain"> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
関連質問

●質問をもっと探す●



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