Answers:
症状:我更改了Base Urls,现在无法访问我的网站,或者我将所有内容都移到了新服务器上,没有进行更改,base_url
并且无法访问我的网站。
说明是针对简单的“一个商店”网站的,其中将“默认商店视图”设置为从“默认配置”继承其设置。每个未选中的Use Website
复选框都将包含下面提到的表行的另一个实例。
core_config_data
在phpMyAdmin中打开表。
按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/
替换http://www.example.com/
为适当的域url(必须使用斜杠),如果已安装在子文件夹中,请在/
其后附加a 。
在安全部分找到以下行,它们应类似于以下内容:
列
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/
替换https://www.example.com/
为适当的域url(必须使用斜杠),如果已安装在子文件夹中,请在/
其后附加a 。如果尚未收到安全证书并启用TLS / SSL,请使用http
代替https
更改后var/cache
,从var/session
目录中清除内容base_urls
。
清除缓存和会话是必要的,因为配置已缓存,清除配置将强制从core_config_data
表中重新读取配置数据,并使用正确的信息重新建立会话。
注意:如果您已base_url
正确设置,web/unsecure/base_url
并且web/secure/base_url
不必在其余条目中更改{{UNSECURE_BASE_URL}}
和{{SECURE_BASE_URL}}
宏。
mysql -u $USER -p $DBASE
http://www.example.com/
且安全的https://www.example.com/
(如果启用了SSL / TLS,否则应将HTTPs 替换为https)替换为适当的域网址(必须使用斜杠),如果已安装在子文件夹中,请在/
其后附加一个。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';
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%';
var/cache
,从var/session
目录中清除内容base_urls
。清除缓存和会话是必要的,因为配置已缓存,清除配置将强制从core_config_data
表中重新读取配置数据,并使用正确的信息重新建立会话。n98-magerun
,请使用命令n98-magerun.phar sys:info
获取基本系统信息列表,其中包含一项Cache Directory
。
在Magento2中,还有一种方法可以直接使用以下命令通过Magento进行此操作,而不必通过SQL进行查询,而我发现SQL会更快一些。
在Magento的根目录中,运行以下命令:
设置不安全的URL
bin/magento setup:store-config:set --base-url="http://www.magento2.com/"
设定安全网址
bin/magento setup:store-config:set --base-url-secure="https://www.magento2.com/"
清除缓存
bin/magento cache:flush
var/
目录权限被弄乱了,Magento会将Magento缓存存储在系统/tmp
目录中,如此处记录的那样,并且清除缓存不会清除从core_config_data
服务器重新启动或拥有足够权限的人之前拉出的缓存配置条目可以删除Magento错放的缓存。