みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

素人な質問ですが、PHPのURLを…

素人な質問ですみません。
現在知り合いの方にサイトを作ってもらっています。
ECキューブを使って作るそうなのですが、各ページが『http://www.●●●●.com/town/shop.php?pid=104』みたいな表示になります。
名刺やチラシなどに『http://www.●●●●.com/abcd』のように入れて、
そのページに飛べるように設定したいのですが、方法が分からないとのことです。
そのページに飛んだ後のURLの表示は、『http://・・・/shop.php?pid=104』みたいな表示になっていて構わないのですが、設定方法をご存知の方がいらっしゃいましたら教えていただけませんか。よろしくお願いします。

投稿日時 - 2013-06-28 20:59:51

QNo.8153863

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

んー
.htaccessを使えばできるんじゃないかしら。

たとえば

html側で

<a href="http://www.●●●●.com/abcd">サイトはこちら</a>

で、そのサイトのabcdファイルがあるパスにhtaccessを置くんですよ。

その内容はこうです。

RewriteEngine on
RewriteRule ^(.*\.html)$ ../php/shop.php?pid=104 [L]

説明しますとURLを書き換えられます。
リライトルールの後は正規表現で、条件を指定します。ここではすべてのhtmlファイルが対象です。
すべてのhtmlへのアクセスはshop.php?pid=104 へ書き換えられます。


つまり

http://www.●●●●.com/abcd がアドレスバーに表示されたまま
実際には
../php/shop.php?pid=104 へアクセスしています。

これがリライトです。
これを使えばいいんじゃないかな。

上手に説明できないけど、htaccessとRewriteEngineを調べて理解できれば使えますよこれ^^

投稿日時 - 2013-07-04 11:38:20

ANo.1

はじめまして。

もしPHPでリダイレクトしたいだけであれば、

例えば、

『 abcd.php 』ファイルの中に、

header("location: http://www.●●●●.com/town/shop.php?pid=104");
exit;


と記述すれば出来ます。

ご質問の意図と的が外れた回答でしたら申し訳ありません。

ただし、「 header location 」の多様はオススメしません。
というのは、以前ショッピングサイトを運営していた時に、急遽トップページのURLを変更した場合に、
「 header location 」を使用して、強制的にリダイレクトをすると、検索エンジンにスパム行為だと
判断されて、サイトが一気に圏外までペナルティを食らってしました。

単にリダイレクトさせるだけなら「 header location 」で出来ますが、使用する際はSEO的に
ペナルティになる使い方は避けたほうが良いです。

投稿日時 - 2013-06-29 05:23:02

お礼

御回答ありがとうございました。
私の説明が悪かったようで、ちょっと詳しい人に聞いてみると、
私が欲していたのはリダイレクトではないと判明しました。
しかし、nazal2010さんのおかげで一歩進めました。
ありがとうございました。

投稿日時 - 2013-07-03 11:28:01

あなたにオススメの質問