ファイルシステムパスを使用しているため、Magento CSSとJavaScriptがロードされない


29

Magento Connectを使用してモジュールをインストールできず、Connection Error try again laterエラーが発生しました。モジュール開発者の指示に従って、ドキュメントルートのアクセス許可を修正しようとしました。

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 mage
chmod -R o+w media

それでも動作しなかったので、モジュールを手動でインストールすることになりました。その後、管理バックエンドにログインし、MagentoはURLの代わりにシステムファイルパスを使用してCSSファイルを提供しようとしました。

<link rel="stylesheet" type="text/css" href="/home/user/public_html/js/calendar/calendar-win2k-1.css" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/reset.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/custom.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/xmlconnect/boxes.css" media="all" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="/home/user/public_html/skin/adminhtml/default/default/menu.css" media="screen, projection" />

私はすぐに拡張機能を削除し、有効なMagentoを使用して別のサーバーの権限を一致させようとしました。私も持っています:

  • ローカル、APC、Magentoのキャッシュをクリアしました
  • エラーログで確認(ログ記録は有効)
  • DBのweb / unsecure / base_urlおよびweb / secure / base_urlの適切な値を再確認しました
  • 再起動、3回;)

Minifyは使用されていません。CSSファイルのマージは有効になっていますが、管理インターフェイスなしで無効にする方法がわかりません(正しい値をFirebugに置き換えても、保存とナビゲーションが機能しません)。どんなアイデアでも大歓迎です!

(質問は元々@reflexivによってStack Overflowに投稿されました


例外ログを有効にして、すべてのファイルが存在するかどうかを確認します。
joseantgv

回答:


42

CSSファイルにアクセスするためにフルパスURLを使用するMagentoは、次の2つのことが原因で発生する一般的なエラーです。

  • CSSファイルのマージを有効にする
  • Magentoがmedia /フォルダーの読み取り/書き込みができません。

この問題を修正するには、次のことを確認してください。

  • media /フォルダーは、Magentoのインストールに存在します。
  • media /フォルダーはWebサーバーによって書き込み可能です。

@flochtililochがStack Exchangeに投稿したように:

まず、どのユーザーapacheがとして実行されているかを確認してから、apacheが実際にメディアディレクトリを所有していることを確認しから、それに応じて権限を調整する必要があります

chown -R <apache_user> media
chmod -R ug+w media

詳細はこちら:Magentoファイルシステムのアクセス許可


CSS / JSマージが有効になっているため、同じ問題が発生しました。
DmitryR

1
@DmitryR:マージを有効にすること自体が問題ではなく、Webサーバーがメディアに書き込めないことが問題です。マージが有効になっている場合にそうしようとし、失敗し、これが発生します。;)
ナバー

これには重大なエラーがあります。apacheユーザーがフォルダーを書き込み可能にするだけでなく、すべてのユーザーがフォルダーを書き込み可能にしますこんなことしないで。大規模なセキュリティホールを開きます。
マイケルハンプトン

良い電話。o + wではなくug + wに更新しました
Navarr

3

ライブサーバーからローカル開発(MAMP)Apacheサーバーにサイトをコピーするときに、非常によく似た問題が発生しました。以下は私のためにそれを解決しました:

  1. クリアmedia/cssmedia/jsすべてのファイルの
  2. データベーステーブルのcore_config_data設定:
    dev/js/merge_files0(1だった)
    dev/css/merge_css_filesから0(1だった)
  3. 清算 var/cache

フロントおよびバックエンドをリロードし、css / jsファイルが正しく配信されるようになりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.