質問

要するに、Magentoは、404のCMSページでは、かなり標準的な構成と思われるものでステータス200を返します。

enter image description here

URLが変更されると、すべてが正常に機能します cms/index/defaultNoRoute, 、デフォルトの不足ページにはステータス404がロードされます。

また、絶対にすべてが別のサーバー上のWebサイトのコピーで正常に機能します。これにより、Apacheの構成が疑われることになります。何を見ているのかわからない。

DefaultNorouteとNorouteアクションの両方の応答ヘッダーを次に示します。

$ curl -I http://www.server.com/cms/index/defaultNoRoute
HTTP/1.1 404 Not Found
Date: Thu, 25 Apr 2013 12:56:07 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Set-Cookie: frontend=332f53c81eee1f730f430c0f59e0dd83; expires=Thu, 25-Apr-2013 13:56:08 GMT; path=/; domain=www.server.com; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Status: 404 File not found
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=UTF-8

$ curl -I http://www.server.com/cms/index/noRoute
HTTP/1.1 200 OK
Date: Thu, 25 Apr 2013 12:56:11 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Set-Cookie: frontend=361b3804feaea66a6fcdf1aee048ce44; expires=Thu, 25-Apr-2013 13:56:12 GMT; path=/; domain=www.server.com; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding,User-Agent
Content-Type: text/html

誰かが私を正しい方向に向けることができますか?乾杯。

役に立ちましたか?

解決

私の経験では、これはほとんどの場合、CMSの統合が不十分であることによって引き起こされます。 CMS統合がNorouteアクションを書き換えて、Magentoが404を発行し、CMSからコンテンツを取得し(利用可能な場合)、ページのコンテンツセクションで提供するときにキャッチすることは珍しくありません。

ただし、これらのカスタム統合がCMSのURLのコンテンツがない場合に検出できず、空白のコンテンツまたはCMSから提供される404コンテンツページを含む200の応答コードを無差別に送信する場合です(しかし、200の応答コードで)。

コンテンツがない場合、このタイプの統合では、リクエストをデフォルトのルートアクションなしに転送するか、またはフォールフォールスルーし、404応答を親コントローラーメソッドに処理させることです。

何らかの種類のCMS統合モジュールがインストールされていますか?もしそうなら、私はそれを隔離して、原因として証明するか、それを除外することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top