0

Godaddy で Linux ウェブホスティングを利用しています。サブドメインに Magento CE 1.8 を 1 週間以上インストールしようとしましたが、まだ動作しません。

この質問が重複しているとあなたが言う前に、私は Magento Wiki、フォーラム、Google、および Godaddy フォーラムとサポートで見つけたすべてを試しましたが、まだ機能しません。

php5.ini の場合、Magento php.ini.sample を使用します。.htaccess も Magento からのものです。

Options -MultiViews を .htaccess で使用しても、通常は何も起こりません。php5.ini で cgi.fix_pathinfo = 1 を設定すると、循環リダイレクトが作成されます。.htaccess で RewriteBase を試してみましたが、どちらも役に立ちませんでした。

Magento は fcgi で実行されないことを読んだので、.htaccess で使用しますが、どちらも役に立ちません。

Options +ExecCGI
addhandler x-httpd-php5-cgi .php

「ファイル入力が指定されていません」または循環リダイレクトまたはサーバーエラーが常に発生します。

私が見るエラー ログの行のみが追加されます。

[Thu Oct 31 01:23:08 2013] [11988011] [negotiation:error] [client 5.178.58.85:65433] AH00687: Negotiation: discovered file(s) matching request: "path" (None could be negotiated).

しかし、それが何を意味するのか、それを修正する方法がわかりません。

他に試すことができるものはありますか、それとも何か不足していますか? Godaddy共有ホスティングのMagentoは良い考えではないことは知っていますが、開発を実行し、クライアントの専用サーバーで本番環境を実行する必要があります。

4

3 に答える 3

2

これを .htaccess ファイルに追加すると、他の修正を忘れてしまいます....

RewriteRule ^index.php/(.*)$ [L]

于 2014-06-06T03:08:01.217 に答える
0

そのため、ネットでさまざまなソリューションを数週間試し、サポートを受けようとした後、なんとか解決しました。

何も解決できなかったので、自分で試してみたところ、問題はURLの「index.php」にあることがわかりました。そこで、index.php ファイルの先頭で実行される単純な php 関数を作成しました。この関数は、URL から「index.php/」を削除し、この新しい URL にリダイレクトします。

また、フォーム アクションや URL が表示されるその他の場所から "index.php" を削除するには、独自のルーター モジュールを作成するか、Magentos ルーターを変更することをお勧めします。

今ではすべて動作します。

PS: 他の修正も行っています。

.htaccess:

Options +ExecCGI
AddHandler x-httpd-php5-cgi .php
AddHandler x-httpd-php5-cgi .php5

Options -MultiViews

RewriteBase /

そしてphp5.iniで

cgi.fix_pathinfo = 1

編集

私が書いたものは機能しますが、良い解決策ではありません.index.phpでリダイレクトすると、もちろんすべてのPOSTデータが失われます. そして、Magento を見てルーターを変更するのは手間がかかるため、最終的に管理者用の .htaccess で作業ルールを作成することができました。.htaccess の最後の書き換えルールとして配置するだけです。

RewriteRule ^index.php/admin(.*) /admin$1 [L]

編集

ここに書き忘れましたが、書き直しを次のように変更しました。

RewriteRule ^index.php/(.*) /$1 [L]
于 2013-11-05T21:53:02.867 に答える
0

magento がサブディレクトリにある場合は、次を使用します。

RewriteRule ^index.php/admin(.*) {RewriteBase}/admin$1 [L]
于 2014-03-20T08:00:34.820 に答える