MagentoサイトにアクセスできるようにベースURLを修正するにはどうすればよいですか?


36
  • Base Urlsを変更しましたが、ウェブサイトにアクセスできなくなりました
  • すべてを新しいサーバーに移動しましたが、base_urlを変更せず、ウェブサイトにアクセスできません

BaseURL設定をbase_urlに変更または復元するにはどうすればよいですか?

回答:


63

症状: Base Urlsを変更し、Webサイトにアクセスできないか、すべてを新しいサーバーに移動しましたが、変更せずbase_urlにWebサイトにアクセスできません。

phpMyAdminでbase_url設定を変更または復元する方法

手順は、「デフォルトストアビュー」が「デフォルト構成」からセットアップを継承するように設定されている単純な「1ストア」Webサイト向けです。Use Websiteチェックされていないチェックボックスごとに、下記のテーブル行の追加インスタンスがあります。

  1. core_config_dataphpMyAdminでテーブルを開きます。

  2. 表をpath列でソートし、安全でないセクションの次の行を見つけます。これらは次のようになります。

PATH                         VALUE
web/unsecure/base_url        http://www.example.com/
web/unsecure/base_link_url   {{unsecure_base_url}}
web/unsecure/base_skin_url   {{unsecure_base_url}}skin/
web/unsecure/base_media_url  {{unsecure_base_url}}media/
web/unsecure/base_js_url     {{unsecure_base_url}}js/
  1. http://www.example.com/適切なドメインURL(末尾のスラッシュが必要)に置き換えます/。サブフォルダーにインストールした場合は、その後にを追加します。

  2. セキュリティで保護されたセクションの次の行を見つけます。次のようになります。

PATH                        VALUE
web/secure/base_url         https://www.example.com/
web/secure/base_link_url    {{secure_base_url}}
web/secure/base_skin_url    {{secure_base_url}}skin/
web/secure/base_media_url   {{secure_base_url}}media/
web/secure/base_js_url      {{secure_base_url}}js/
  1. https://www.example.com/適切なドメインURL(末尾のスラッシュが必要)に置き換えます/。サブフォルダーにインストールした場合は、その後にを追加します。セキュリティ証明書をまだ受け取っておらず、TLS / SSLを有効にしていない場合は、http代わりにhttps

  2. 変更後var/cachevar/sessionディレクトリからコンテンツを消去しbase_urlsます。

キャッシュとセッションをクリアする必要があるのは、構成がキャッシュされ、それをクリアすると、構成データの再読み込みが強制されるためです。 core_config_dataテーブル、適切な情報でセッションが再確立されるためです。

注:あなたが設定している場合base_urlに正しくweb/unsecure/base_urlそしてweb/secure/base_urlあなたが変化すると混乱の周りに持っていない{{UNSECURE_BASE_URL}}と、{{SECURE_BASE_URL}}エントリの残りの部分でマクロを。

コマンドラインからmysqlでbase_url設定を変更する方法

  1. MySQLデータベースにログインし、$ USERをデータベースユーザー名に、$ DBASEをデータベース名に置き換えます。パスワードの入力を求められます:

mysql -u $USER -p $DBASE

  1. 以下は、base_url値を変更するためのSQLコマンドです。http://www.example.com/安全でないものと安全なものhttps://www.example.com/(SSL / TLSが有効になっている場合、httpsはhttpである必要があります)を適切なドメインURL(末尾のスラッシュが必要)に置き換え、サブフォルダーにインストールした場合は、/後に追加します。

SQLコマンド

UPDATE core_config_data SET value = 'http://www.example.com/' WHERE path LIKE 'web/unsecure/base_url';
UPDATE core_config_data SET value = 'https://www.example.com/' WHERE path LIKE 'web/secure/base_url';
  1. 次を使用してbase_url設定を確認します。

SQLコマンド

SELECT path,value FROM core_config_data WHERE path LIKE 'web/unsecure/base%';
SELECT path,value FROM core_config_data WHERE path LIKE 'web/secure/base%';
  1. 変更後var/cachevar/sessionディレクトリからコンテンツを消去しbase_urlsます。キャッシュとセッションをクリアする必要があります。これは、構成がキャッシュされ、それをクリアすると、core_config_dataテーブルから構成データが再読み取りされ、適切な情報でセッションが再確立されるためです。

1
注:上のあなたの権限極端な例ではvar/、ディレクトリを台無しにされ、Magentoのは、システムにMagentoのキャッシュを保存する/tmpディレクトリをここに記載されているように、キャッシュをクリアすることから引き出されたキャッシュされた設定項目をクリアしないcore_config_data十分な権限を持つサーバーの再起動または誰かまでMagentoの誤ったキャッシュを削除できます。
フィアスコラボ

誤って配置されたキャッシュディレクトリを見つけるには、をインストールできるn98-magerun場合、コマンドn98-magerun.phar sys:infoを使用して、1つのアイテムがCache Directory場所である基本的なシステム情報のリストを取得します。
Fiasco Labs

これは私にとって完璧に機能します。
Amol Bhandari SJ

13

Magento2には、少し速くなるSQLを実行するのではなく、Magentoを介して以下のコマンドを使用してこれを直接行う方法もあります。

Magentoのルートディレクトリ内で以下のコマンドを実行します。

  1. 安全でないURLを設定する

    bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
  2. セキュアURLを設定

    bin/magento setup:store-config:set --base-url-secure="https://www.magento2.com/"
  3. キャッシュの消去

    bin/magento cache:flush

1
この後、base_link_urlの編集も必要になる場合があります。
user3442612

すべてのトラフィックをhttps経由でリダイレクトして、ベースURLをhttpsに設定すると、この問題は解決します(たとえば、CertbotでSSL証明書をインストールする場合)
Antonio Araujo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.