我刚刚启动了我的第一个 Magento 商店(在 CentOS 和 Apache 上),我已经从我的设置子域 - http://prelive.mydomain.com(一切正常,启用 url 重写并正常工作)切换到实时子域http://www.mydomain.com,基本上只需执行以下操作:
- 通过管理界面清除缓存
- 更新数据库中的安全和不安全的基本 URL
- 更新 core_config_data 设置值 = 'http://www.mydomain.co.uk/ ' WHERE 路径 = 'web/unsecure/base_url';
- 更新 core_config_data 设置值 = 'https://www.mydomain.co.uk/ ' WHERE 路径 = 'web/secure/base_url';
- 将整个站点文件系统从 /var/www/html/prelive 移动到 /var/www/html/www (我尝试复制,但它导致了各种权限问题,我稍后会解决!)
- 手动编辑 var/resource_config.json 中的媒体基本路径
像这样更新我的虚拟主机:
<VirtualHost *:80> DocumentRoot /var/www/html/www ServerName www.mydomain.co.uk ServerAlias www.mydomain.co.uk ErrorLog logs/www.mydomain.co.uk-error_log </VirtualHost>
像这样编辑基础 .htaccess 文件 ()
SetEnvIf Host www\.mydomain.co.uk MAGE_RUN_CODE=angling_r_en SetEnvIf Host www\.mydomain.co.uk MAGE_RUN_TYPE=store SetEnvIf Host ^mydomain.co.uk MAGE_RUN_CODE=angling_r_en SetEnvIf Host ^.mydomain.co.uk MAGE_RUN_TYPE=store
它几乎可以工作......但是url重写被破坏了。我可以在http://www.mydomain.com上看到该站点,但导航到子页面会得到 404(例如http://www.mydomain.com/path/to/product.html),除非我专门将 URL 更改为通过 index.php 指向http://www.mydomain.com/index.php/path/to/product.html或http://www.mydomain.com/index.php/admin
作为参考,在 .htaccess 我也有(在子域切换期间保持不变):
RewriteBase /
和
RewriteRule .* index.php [L]
对我忘记的有什么想法吗?
非常感谢本