2013-04-20 59 views
1

我在舊的根域的子目錄中構建了一個新的Opencart商店: 即。 http://www.old-domain.com/opencart 現在我有一個新的域名,現在指向子目錄: ie。 http://www.new-domain.com(我已經正確更新了兩個config.php文件) 但是,單擊任何內部鏈接都會在地址欄中顯示舊域url。需要關於Opencart站點的RewriteRule的指導

所以我需要指導來替換(重寫)舊名稱與新的名稱,同時仍保留正確的路徑等。 我已經做了大量的研究,並試圖在我的htaccess中沒有成功。 謝謝。

回答

1

問題是OpenCart安裝在舊域中,因此該URL地址在其配置文件中設置爲常量(定義)。

如果你想改變它,去打開這兩個文件:

  • <OPENCART_ROOT>/config.php
  • <OPENCART_ROOT>/admin/config.php

和編輯這些定義:

// HTTP 
define('HTTP_SERVER', 'http://olddomain.com/admin/'); 
define('HTTP_CATALOG', 'http://olddomain.com/'); 
define('HTTP_IMAGE', 'http://olddomain.com/image/'); 

// HTTPS 
define('HTTPS_SERVER', 'http://olddomain.com/admin/'); 
define('HTTPS_CATALOG', 'http://olddomain.com/'); 
define('HTTPS_IMAGE', 'http://olddomain.com/image/'); 

// HTTP 
define('HTTP_SERVER', 'http://newdomain.com/admin/'); 
define('HTTP_CATALOG', 'http://newdomain.com/'); 
define('HTTP_IMAGE', 'http://newdomain.com/image/'); 

// HTTPS 
define('HTTPS_SERVER', 'http://newdomain.com/admin/'); 
define('HTTPS_CATALOG', 'http://newdomain.com/'); 
define('HTTPS_IMAGE', 'http://newdomain.com/image/'); 

(根中的配置文件將不會有/admin/的URL部分...)

這應該解決您的問題。

+0

感謝您的快速回答,但我已經更新了兩個config.php文件以反映新的網址.... !!! .... 我的知識有限,但我相信我需要在我的htaccess文件中加入一些「重寫」代碼。這就是我遇到的困難......再次感謝 – user2300361 2013-04-20 11:31:42

+0

您使用的OC版本是什麼?在早期版本的OC(1.5.0之前)中,URL存儲在數據庫表「設置」中......無論如何,如果您已將OpenCart安裝到子文件夾中,請確保在您的.htaccess文件中設置了'RewriteBase'到'/ subfolder /'(而不是純'/')。 – shadyyx 2013-04-20 11:37:03

+0

OC版本是1.5.4.1,而RewriteBase實際上設置爲/subfolder.....感謝您試圖提供幫助。 – user2300361 2013-04-20 12:23:16

0

我相信這是你在.htaccess中所需要的,所以到舊域的訪問者將被重定向到新域。在R = 301假設你已經永久移動到新的領域:

RewriteCond %{HTTP_HOST} ^olddomain.com$ 
RewriteRule ^opencart/(.*)$ http://newdomain.com/$1 [R=301,L] 

要確保所有內部鏈接都指向你需要

1新域 - 更新您的config.php文件(你已經完成了

2 - 將舊域的內容(信息頁,產品描述,橫幅廣告等)中的所有事件替換爲新域。phpMyAdmin有一個方便的搜索功能,可以找到它們有權訪問它

3 - 有可能仍然是您的舊域的引用硬編碼到您的PHP & tpl文件,但不應該有 - 如果你還必須改變它們(或更好地仍然修復它們以使用在config.php中定義的常量)

僅僅是#2的警告 - 如果您打算在phpMyAdmin中直接更改它們,請不要更新任何序列化數組,除非您知道它們在做什麼,例如

a:1:{i:1;a:1:{i:0;s:28:"http://olddomain.com/opencart"}}