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

サーバーを移行したためgoogle検索サイトで表示される当社のURLが
404お探しのページが見つかりませんでした
と表示されます。
----------------------------------------
seo対策には以下の方法の方が良いという記述がありました。
--------------------------------
コンテンツ内容が類似したページURLを一方のページURLに統合したい場合
Redirect permanentを記述後、「転送元の相対パスurl」「転送先の絶対パスurl」を順番に書きます。
そして、書いた.htaccessファイルをサーバーにアップロードしましょう。
------------------------------------------
当社の
https://*****.com/user_data/company.php
https://****.com/products/list.php?category_id=7

https://****.com/company/
https://****.com/info/
に向かせたいときは
.htaccessファイルの中身を

Redirect permanent /user_data/company.php/ https://****.com/company/
Redirect permanent /products/list.php?category_id=7/ https://****.com/info/

と記述して保存した、.htaccessを****.comのフォルダにアップロードすればよろしいでしょか?

よろしくご指導お願いいたします。

質問者からの補足コメント

A 回答 (7件)

>>③の設定はエラーが出ます


原因は
https://****.com/info.html が無いか、htaccessの他の記述が邪魔をしてるか、記述ミスがあるかの何れかだと思います。

私もサーバで色々なhtaccessを記述していて、同様の読み替えも行なっています。
今でもチャント動いてます。



>>商品カテゴリーマップのページを作りhttps://***/products/以下の全ての商品ページを商品カテゴリーマップのページへ飛ばしたいと考えています。
これは③ですよ。

②はディレクトリ部の読み替えなので、/products/ディレクトリ下のページのファイル名全部が、新設するディレクトリ下に全部必要になります。

③でしょう???



>>バックアップファイルにproductsフォルダがなく困っています。

読み替え前のフォルダ(ディレクトリ)も、その下のファイルも要りません

アクセスが有ったら読み替えてしまうのですから要らないのです。
"読み替え後" が有ればよいのです。

/products/list.php?category_id=7でアクセスが有ったら、/info/index.htmlなどに読み替えてサーバアクセスするんですから・・・・。

だから③なんでしょ?

info.htmlがあるのであれば、記述を見直すなどしてエラーをなくす様にして下さい。
先の③が正しい記述です。
    • good
    • 0
この回答へのお礼

助かりました

解決しました。ありがとうございます。
原因は当初、RedirectMatch 301 /products/list.php?category/(.*)
としてました。
RedirectMatch 301 /products/(.*)
に変えることで成功いたしました。
何度もアドバイスいただき、感謝に堪えません。

お礼日時:2022/04/09 09:18

再度聞きます。


>>当社の
>>https://****.com/products/list.php?category_id=7
>>を
>>https://****.com/info/
>>に向かせたいとき
と言ってるので解らなくなってしまいます。
そのまま解釈すると、id=7のページを/info/index.htmlへ読み替えとなりますが、それも無さそうです。

①何か1ページを、どこかへ読み替え
②productsディレクトリをinfoディレクトリへ読み替え
(products下のページを全部、info下へ読み替え)
③productsディレクトリ下の全ページを、info.htmlページに読み替え

どれですか?


/products/list.php?category_id=16 とか書かれてるので、
/products/の下に、list.php?category_id=xxxと言うページが沢山ある?

その沢山あるページを特定の1ページに転送したいのですか?
例えばinfo.htmlへ・・・、ですか?

③なのでは??③なら以下です。

RedirectMatch 301 /products/(.*) https://****.com/info.html
です。
    • good
    • 0
この回答へのお礼

お騒がせし申し訳ございません。
https://***/products/list.php?category_id=7
これは商品ページのアドレスです。
id=で商品を指示し多数の商品ページを構成しているように思います。
常連客が再購入の検索を省くため商品にリンクを貼っていただいているらしく、これらの商品のページを個々に転送させるのは大変なので、
商品カテゴリーマップのページを作りhttps://***/products/以下の全ての商品ページを商品カテゴリーマップのページへ飛ばしたいと考えています。
③の設定はエラーが出ますので②になるのかもしれません。
サーバーを移行する前にすべてのファイルをダウンロードしたつもりでしたが、バックアップファイルにproductsフォルダがなく困っています。

お礼日時:2022/04/08 20:33

>>RedirectMatch 301 /products/list.php?category/(.*)

https://****.com/info.html
で試したいと考えます。

ディレクトリ以下のページがアクセスされたら、全てhttps://****.com/info.htmlの1ページに読み替えるのであればokです。
それが良いと思います。

>>/aaa/bbb/index.htmlをhttps://aaa.com/***.htmlに転送させるときは
Redirect permanent /aaa/bbb https://aaa.com/***.html
でよろしいでしょうか?

bbbはディレクトリなので、/を付けて
Redirect permanent /aaa/bbb/ として下さい。
Redirect permanent /aaa/bbb/index.htmlでも構いません。


------------------------------------------------------------------------
.htaccessをアップしたら、pcのアドレスバーに転送前のurlを打ち込んで表示させ、試験して下さい。
表示されたページのurlがアドレスバーに出ますので狙い通りのurlに読み替えられたか確認出来ます。

その後、.htaccessを修正したらpcの履歴(キャッシュ)をクリアして下さい。
そうしないと、キャッシュに残っている古い内容が表示されてしまいます。
    • good
    • 0
この回答へのお礼

早速回答いただきありがとうございます。
RedirectMatch 301 /products/list.php?category/(.*) https://***/company.html
にしてみて、キャッシュもクリアしましたが404エラーが出ます。
今回はhttps://***/products/list.php?category_id=16
のURLでhttps://***/company.htmllist.php?category_id=16
に転送はされていません。
「/を付けて」は質問時に付け忘れました。実際は付けていたので
問題なく転送されています。
何度もお手数をかけ申し訳ございません。

お礼日時:2022/04/08 17:01

>>Redirect permanent /products/list.php?category/

https://****.com/info.html

ディレクトリ/list.php?category/以下の全てをinfo.htmlの1個に転送したい場合は書き方が異なります。

RedirectMatch 301 /products/list.php?category/(.*) https://****.com/info.html
この回答への補足あり
    • good
    • 0
この回答へのお礼

お忙しい中、早速ご指導いただきありがとうございます。
旧サイトの商品ページなどに多数のリンクが貼られており、
検索画面でクリックする毎に404エラーがでます。
まず、新サイトのルートにカテゴリー一覧のページ(category.html)を作り、
ここに旧サイトのproducts/list.php?categoryを一括して転送しようかと考えています。
カテゴリーや、個々の商品のリンクが多すぎて個々に対応するのは
大変なので諦めることにしようかと考えています。
(category.htmlはまだ作っていないので、試しにinfo.htmlで成功したらと考えました)
実際は決済はBASEのシステムを使う予定のため、BASEのカテゴリーページへ飛ばす方が簡単と考えますが、
他社サイトへ飛ばすことができるのか、許されるのか分からず暫定的に
今回の方法を考えました。

まず、
RedirectMatch 301 /products/list.php?category/(.*) https://****.com/info.html
で試したいと考えます。
-------------------
Redirect permanent /aaa/bbb https://ccc.com/ddd

aaaディレクトリ下にbbbが存在し、且つ ccc.com下にdddが存在しない場合は404エラーとなります。
--------------------
/aaa/bbb/index.htmlをhttps://aaa.com/***.htmlに転送させるときは
Redirect permanent /aaa/bbb https://aaa.com/***.html
でよろしいでしょうか?

お礼日時:2022/04/08 15:34

>>旧ページ/***/***を

https://***/***.html に転送させたいと、
>>Redirect permanent /***/*** https://***.com/***.html
>>に設定しましたが、上手くいかず


Redirect permanent /aaa/bbb https://ccc.com/ddd

aaaディレクトリ下にbbbが存在し、且つ ccc.com下にdddが存在しない場合は404エラーとなります。


>>https://****.com/info.htmlへの転送は失敗し、
転送元がディレクトリ一括指定なのに、読み替え転送先がページだからです。

◎◎もう一度確認します。
ページを転送したいんですよね?
ディレクトリを一括して転送したいのですか?
具体的にお願いします。
    • good
    • 0

>>が正解でしょうか?


不正解です。

①****.comの直下のindex.htmlに読み替えられます。

****.com/とすると、ウェブの規約により****.com/index.htmlと見做されます。

通常のアクセスでも、****.com/とすると、ウェブの規約により****.com/index.htmlと見做されます。

②/list.php?category/とすると、フォルダと見做されます。
list.php?category_id=7と言うページでは無いのですか??

③info.htmlは何ですか?
list.php?category_id=7の読み替え先ですか?


Redirect permanent /user_data/company.php/ https://****.com/

Redirect permanent /user_data/company.php https://****.com/company.html


2番目の読み替え方法は、②、③が解らないと書けません。
    • good
    • 0
この回答へのお礼

ありがとう

お礼遅れて誠に申し訳ございません。
前回の質問の後、間違いに気づき

Redirect permanent /user_data/company.php https://****.com/company.html
Redirect permanent /products/list.php?category/ https://****.com/info.html

にしてみました。
今回のt_fumiaki様のご指摘通り
Redirect permanent /user_data/company.php https://****.com/company.html
は上手く転送されましたが、
https://****.com/info.htmlへの転送は失敗し、原因が分からずこちらは諦め、
(新サイトにカテゴリーリストがまだ作ってなく、仮にinfo.htmlへ試しただけなので)
新たに、旧ページ/***/***を
https://***/***.html に転送させたいと、
Redirect permanent /***/*** https://***.com/***.html
に設定しましたが、上手くいかず、
RewriteEngine On RewriteRule ***/index.html$ https://***.com/***.html [R=301,L]
にしてみましたがこちらも上手くいきませんでした。
現在は昔サポートしていただいた方の連絡先を見つけたので、
サポートしていただけるか問い合わせ中ですが、
返事が来なく困っているところです。
t_fumiaki様がサーポートしていただけるのでしたら
サポート契約等の方法、料金をお知らせください。

お礼日時:2022/04/08 11:32

ページ単位のリダイレクトですよね?


company.phpが ⇒ /company/index.htmlへ

list.php?category_id=7が ⇒ /info/index.htmlへ

となりますが意向と合ってますか?

合っていたら、company.phpの後ろ/、d=7の後ろ/は要りません。

アップフォルダはokです。
この回答への補足あり
    • good
    • 0

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