1

Magentoでは、現在、サイトカテゴリにスラッシュのないURLがあります(例:www.example.com/gifts)。

www.example.com/gifts/のように、カテゴリのURLを末尾にスラッシュを付けるように変更したい

これを行うために、私は管理セクションに行き、システム->設定->'カタログ'->検索エンジン最適化の下でSEOセクションを編集しました。

そこで、[カテゴリURLサフィックス]ボックスに「/」を追加しました。

これはすべて標準であり、インデックスを再構築した後、サイトは実際にすべてのカテゴリURLを末尾にスラッシュを付けて表示します(例:www.example.com/gifts/)。

問題は、www.example.com / gifts /(または現在任意のカテゴリ)をクリックすると、無限のリダイレクトループが発生することです。

Chromeは「エラー310(net :: ERR_TOO_MANY_REDIRECTS):リダイレクトが多すぎました。」と表示し、URLでCURL -I -0を実行すると、場所:/gifts/への301リダイレクトが表示されます。

htaccessファイルを確認しましたが、末尾のスラッシュやカテゴリのリダイレクトに関連するルールはありません。

編集:私はhtaccessでもロギングを有効にしていて、次のような行を取得し続けています:

strip per-dir prefix: /var/www/blah/app-core/index.php -> index.php

それは正常ですか?

誰かが以前にこの問題を見たことがありますか、またはこれを引き起こしている可能性があるものについて何か考えがありますか?

それは私にとって完全なブロッカーなので、洞察や助けをいただければ幸いです。

ありがとうポール

4

2 に答える 2

2

ハハ!!! すみません、ここで少し怒っています!

最後にそれを理解しました-Magento 1.4のバグかもしれません。

Mage/Core/Model/Url/Rewrite.php ファイルでは、リクエスト パスは次のように指定されます。

$requestPath = trim($request->getPathInfo(), '/');

したがって、'/gifts/' の私のリクエストは 'gifts' になります。次に、Magento はスラッシュを追加しようとし、無限に繰り返されます。

trim() をltrim()に変更すると、機能します。すなわち $requestPath = ltrim($request->getPathInfo(), '/');

'/gifts/' は 'gifts/' になり、www.example.com/gifts/ は 200 です!

もちろん、そのような微調整のためだけに Magento を拡張しなければならないのは今では苦痛です...

于 2012-06-28T14:49:11.160 に答える
0

URL 書き換えテーブルを再構築する必要があるようです。管理エリアにログインし、URL の書き換えを再インデックスします。

于 2012-06-27T11:01:06.413 に答える