• 締切済み

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

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

みんなの回答

回答No.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を調べて理解できれば使えますよこれ^^

  • nazal2010
  • ベストアンサー率54% (12/22)
回答No.1

はじめまして。 もしPHPでリダイレクトしたいだけであれば、 例えば、 『 abcd.php 』ファイルの中に、 header("location: http://www.●●●●.com/town/shop.php?pid=104"); exit; と記述すれば出来ます。 ご質問の意図と的が外れた回答でしたら申し訳ありません。 ただし、「 header location 」の多様はオススメしません。 というのは、以前ショッピングサイトを運営していた時に、急遽トップページのURLを変更した場合に、 「 header location 」を使用して、強制的にリダイレクトをすると、検索エンジンにスパム行為だと 判断されて、サイトが一気に圏外までペナルティを食らってしました。 単にリダイレクトさせるだけなら「 header location 」で出来ますが、使用する際はSEO的に ペナルティになる使い方は避けたほうが良いです。

yuiny0086
質問者

お礼

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

関連するQ&A