dポイントプレゼントキャンペーン実施中!

サーバーに関する詳しいことはまったくわかってない人間なのですが、
現在PHP?smarty?ベースのサーバでホームページを開設しています。
それをhtmlファイルを自由に配置できる一般的なサーバと分けて管理することになりました。

PHPのサーバを(A)、htmlのサーバを(B)とすると、

(B)サーバでトップ、カテゴリーページをhtmlで作成。
(A)サーバで詳細ページをPHPで作成します。
(A)サーバーで使っていたドメイン(xxx.jp)を(B)サーバにうつし、
(A)サーバに新しいドメイン(???.jp)を割り当てます。

現在のページ(Aサーバ)は
http://www.xxx.ne.jp/?xyzoo=ooooo
http://www.xxx..ne.jp/?mode=vrae=oooooo&awaa=1
(oooは数字)
のようにページが作成されます。
その他(txtファイルなど)ファイルはアップロードできません。

それを(B)サーバではhtmlで作成し、ファイル名もabc.htmlなどと変わります。
ですので http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=1 にアクセスしてもトップページが表示されるだけです。

これらにアクセスすると、新しいファイルに転送するにはどうすればよいでしょうか。
http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=1にアクセスすると、
http://www.xxx.ne.jp/abc.htmlに転送
http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=2にアクセスすると、
http://www.xxx.ne.jp/def.htmlに転送

また、http://www.xxx.ne.jp/?xyzoo=oooooにアクセスされると、
今度は、違うサーバのhttp://www.???.ne.jp/?xyzoo=oooooです。

リダイレクトとか色々調べてみたのですが、結局わからずでした。。。
(.htaccess で Redirect permanent /?mode=vrae=oooooo&awaa=1 http://www.xxx.ne.jp/abc.html
としてみたけどだめでした…)


もう一つ、今度は 新しいドメイン(http://www.???.ne.jp/)になった(A)サーバについて、
詳細ページはhttp://www.???.ne.jp/?xyzoo=ooooo等で使うのですが、
トップページもアクセスできるようになります。
トップページhttp://www.???.ne.jp/にアクセスされると、新しいサーバのhttp://www.xxx.ne.jp/に転送したく思ってます。

現状では、(A)サーバの転送はmeta や javascript で転送する方法しか思いつきません。
PHP?smarty?で転送する方法は無いでしょうか。

なお、新しい(B)サーバは一般的なサーバ(?)で、ファイルは基本的に何でも置けます。
古いPHPの(A)サーバはsmarty.server?のタグでページを作成し、
その他ファイルを置けないどころか、head内も触れません…。
(metaやjavascriptはbody内に書くしかないのです)

どなたか詳しい人、教えていただけませんか。
よろしくお願いします。

A 回答 (5件)

(B)サーバー上のファイルのJavaScriptで対応するのが、一番簡単でしょうね。


head の中で、渡されたURLによって、飛び先を変える関数を書いて、body のonLoad属性で関数を呼び出す。
これでいけるでしょう。

この回答への補足

ということは、(B)サーバ内に
http://www.xxx.ne.jp/?xyzoo=ooooo
等のファイルを作らないといけないって事ですよね。

私にできるのかな…

ではちょっと調べてみます。

補足日時:2008/04/01 10:17
    • good
    • 0
この回答へのお礼

色々教えていただいてありがとうございます!

お礼日時:2008/04/01 10:19

PHPのような言語は、ファイルの読み込みや書き込みを行いますので、


静的なHTMLと別のところに置くというのは、正しい管理かもしれません。
で、私の理解力の問題かもしれませんが・・・

(A)サーバー
PHPプログラムが動き、Smartyテンプレートが格納されている。
PHPプログラム、Smartyテンプレートの編集が可能
(B)サーバー
静的なHTMLが置かれている。

でいいのでしょうか?

「HTMLの<head> の部分が触れない」
「(B)サーバーには、PHPも置ける」

この辺の状況が見えないんですが。
何が、できて何ができないか、ピンときません。

HTMLは静的ですので、HTMLから飛ばすにはJavaScriptしかないです。
JavaScriptでしたら、body の onLoad にでも、JavaScriptを入れるんですかね?
本当は、headに関数定義を書いて、onLoadでは、関数呼び出しの方がすっきりしますが。

一度、PHPにもってくれば、URLの引数部分を自由に取り出せますので、いかようにもできますが・・・
PHPが書けて、Smartyが分からないと・・・
無理です。

この回答への補足

申し訳ございません、説明不足でした。

(A)サーバ
ショッピングカートシステムをレンタルで借りています。
例えばここです。
http://cart1.fc2.com/setcart_sample/
ここがどのようなシステムやっているかはわからないですが、
このようなシステムです。
ただ、上記サンプルURLではhead内も触れるみたいですが、
私の借りているカートは、テンプレートでbody内しか編集できません。
そのカートシステムはPHPでsmartyで動いて(?)います。

(B)サーバ
カートシステムではなく、普通のftpサーバ(?)で、
htmlでもcgiでも何でも配置でき、もちろんhead内もいじれます。

今は
(A)サーバ http://www.xxx.ne.jp/
ですが、これが
(A)サーバ http://www.???.ne.jp/
(B)サーバ http://www.xxx.ne.jp/
となります。
(AサーバのドメインをBへ、Aサーバは新しいドメインになります)


現在(A)サーバで運営しているのですが、商品部分だけを残し、topやカテゴリーページは(B)サーバでHTMLで作成しなおします。


この場合(A)サーバで
http://www.xxx.ne.jp/?xyzoo=ooooo
だったurlは、(B)サーバ上で存在しません。
ファイル名も(B)サーバでは変わるので(htmlで違う名前で作成していますので)ここにアクセスされると
http://www.xxx.ne.jp/?xyzoo=ooooo
とアドレスは出ても、トップのhtmlが表示されるだけです。

この場合に​http://www.xxx.ne.jp/?xyzoo=ooooo にアクセスすると、
http://www.xxx.ne.jp/abc.html (Bサーバ)
に転送したり
http://www.???.ne.jp/?xyzoo=ooooo (Aサーバ)
に転送したいのです。


また、(A)サーバにはドメインが変わっても、新しいドメインで実際はトップページやカテゴリーページが残っています。
これらにアクセスされると、
(B)サーバのトップやカテゴリーページに転送したいと思っています。


説明わかりますでしょうか…
文章力不足で申し訳ございません ><

補足日時:2008/03/31 19:37
    • good
    • 0

確認ですが、(B)サーバーは、スタティックなHTMLだけを置くサーバーでしょうか?


それでしたら、JvaaScriptで、Window.location.search属性の値によって、Window.location.hrefを書き直すくらいしか、思い浮かびません。
PHPまで、持ってくればプログラミング言語ですので、色々できますが・・・

ところで、PHPファイルの置いてある、サーバーアクセスで、ファイル名がないんですが・・・index.phpが読まれるような設定ですか?

一応、PHP、Smartyは、プロのつもりですが・・
はっきり、言ってこれだけでは、状況が良くわかりません。

参考URL:http://www.tohoho-web.com/js/location.htm

この回答への補足

javascriptでそんなことができるんですね。
やり方はよく分からないですが、明日にでも調べて挑戦してみます。

(B)サーバはスタティックなHTMLだけです。
phpの設置もできるのですが、何しろプログラミングが分からないので^^;

PHPファイルのある(A)サーバは、テンプレート化されたショッピングカートシステムです。
メニューなどの共通ページを作成し、コンテンツ共通テンプレートや商品共通テンプレートを
include file
で読み込んで、商品タグ({productid}など)で商品情報を表示するシステムです。

index.phpが読み込まれる設定なのかどうかはよく分かりません…
トップページは
http://www.xxx.ne.jp/
カテゴリーは
http://www.xxx.ne.jp/?mode=vrae=oooooo&awaa=1
見たいに表示されます。
コレに拡張子.phpをつけても、そのページもトップページが表示されます…

お手数をおかけします。 

補足日時:2008/03/30 23:57
    • good
    • 0

> php自体があまりわからないのですが



申し訳ありません。

{php}
header('Location: ​http://www.xxx.ne.jp/');
{/php}

のようなことはできないのでしょうか?
と単純に思ったのです。

この回答への補足

{php}
header('Location: http://www.xxx.ne.jp/');
{/php}



<{php}>
header('Location: http://www.xxx.ne.jp/');
<{/php}>

と試してみましたが、無理でした…TT
お世話かけます…

補足日時:2008/03/30 01:46
    • good
    • 0
この回答へのお礼

phpでそのような方法があるのですね、
少し勉強してみます。
ありがとうございます!

お礼日時:2008/03/31 00:07

※ 確認ですが。



> head内も触れません…。

と仰られているのは

index.php に
<?
if(引数というかQUERY_STRINGが空であれば真){
header('Location: http://www.xxx.ne.jp/');
}
?>

ということが出来ないと仰られている意味でしょうか?
# smarty についての概要はわかりますが実際には使っておりませんので。

この回答への補足

php自体があまりわからないのですが、
<body>タグ内にはかけます。
<head>~</head>内は一切触れないんです…

共通メニュータグを記入やら、topのタグ記入、カテゴリーのタグ記入などで、テンプレート化といえばいいのでしょうか、
そのようなシステムになっております。

Yahoo!shoppingみたいなシステムといえばよいのでしょうか。

ただ、CSSやHTMLタグはほぼ使え、body内に記述になるのですが、
他サーバの外部ファイルも参照することはできます。

補足日時:2008/03/29 22:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!