我在将 Magento 移动到另一台服务器时遇到问题。
旧服务器地址:oldserver.com/shop
新服务器地址:newserver.com/shop
我从旧服务器备份数据库和 FTP 文件,然后上传文件并将数据库导入新服务器。使用新的数据库详细信息更改 local.xml 文件后,Magento 后端工作正常,但我从前端重定向时遇到奇怪的问题。当我进入 newserver.com/shop 时,我可以在一瞬间看到我的商店主页,然后自动将我重定向到主域:newserver.com。
我尝试在管理面板中更改地址:基本 URL:{{base_url}} -> http://newdomain.com/shop/ 基本链接 URL:{{unsecure_base_url}} -> http://newdomain.com/shop
其余编辑字段和“安全”选项卡编辑也是如此。它不起作用,仍然将我从商店目录重定向到主域。在 oldserver 字段 {{unsecure_base_url}} 是默认的,没有 newserver.com/shop 并且它工作正常。
我尝试在安装后刷新/禁用所有 Magento 缓存,但仍然无法正常工作。
我试图在 newdomain.com 目录中安装干净的 Magento,一切都很好,它不会将我重定向到主域。有什么想法吗?:)
我的 .htaccess 文件是:
DirectoryIndex index.php
<IfModule mod_php5.c>
php_flag magic_quotes_gpc off
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
php_flag zend.ze1_compatibility_mode Off
</IfModule>
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule mod_deflate.c>
</IfModule>
<IfModule mod_ssl.c>
SSLOptions StdEnvVars
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
#RewriteBase /magento/ (I have tried to change it to /shop/ and uncomment and still redirect me)
#RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L]
## rewrite API2 calls to api.php (by now it is REST only)
RewriteRule ^api/rest api.php?type=rest [QSA,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
RewriteRule .* - [L,R=405]
#RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
#RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
#RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]
RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]
</IfModule>