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
残りの編集フィールドと「セキュア」タブ編集でも同じです。動作しませんが、それでもショップ ディレクトリからメイン ドメインにリダイレクトされます。古いサーバーのフィールド {{unsecure_base_url}} では、newserver.com/shop のないデフォルトが適切に機能していました。
インストール後にすべての Magento キャッシュをフラッシュ/無効にしようとしましたが、まだ機能しません。
クリーンな Magento を newdomain.com ディレクトリにインストールしようとしましたが、すべて問題なく、メイン ドメインにリダイレクトされません。何が起こっているのですか?:)
私の .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>