2011-12-19 16 views
3

商店版本是osCommerce Online Merchant v2.2 RC2a。如果用戶在商店上網,那麼URL在index.php之前有一個雙斜槓。我查看了配置,但找不到錯誤。 OsCommerce商店中的雙斜槓(例如http://www.shop.com//index.php?cPath=427)

我的configure.php在

包括文件夾:

define('HTTP_SERVER', 'http://www.shop.com'); 
    define('HTTPS_SERVER', 'http://www.shop.com'); 
    define('ENABLE_SSL', false); 
    define('HTTP_COOKIE_DOMAIN', 'www.shop.com'); 
    define('HTTPS_COOKIE_DOMAIN', 'www.shop.com'); 
    define('HTTP_COOKIE_PATH', '/'); 
    define('HTTPS_COOKIE_PATH', '/'); 
    define('DIR_WS_HTTP_CATALOG', '/'); 
    define('DIR_WS_HTTPS_CATALOG', '/'); 
    define('DIR_WS_IMAGES', 'images/'); 
    define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); 
    define('DIR_WS_INCLUDES', 'includes/'); 
    define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/'); 
    define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); 
    define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); 
    define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); 
    define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/'); 

    define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/'); 
    define('DIR_FS_CATALOG', '/home/shop/www/home/'); 
    define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/'); 
    define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/'); 

我的admin /的configure.php包括文件夾:

define('HTTP_SERVER', 'http://www.shop.com'); 
    define('HTTP_CATALOG_SERVER', 'http://www.shop.com'); 
    define('HTTPS_CATALOG_SERVER', 'http://www.shop.com'); 
    define('ENABLE_SSL_CATALOG', 'false'); 
    define('DIR_FS_DOCUMENT_ROOT', '/home/shop/www/home/'); 
    define('DIR_WS_ADMIN', '/admin/'); 
    define('DIR_FS_ADMIN', '/home/shop/www/home/admin/'); 
    define('DIR_WS_CATALOG', '/'); 
    define('DIR_FS_CATALOG', '/home/shop/www/home/'); 
    define('DIR_WS_IMAGES', 'images/'); 
    define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); 
    define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/'); 
    define('DIR_WS_INCLUDES', 'includes/'); 
    define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/'); 
    define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); 
    define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); 
    define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); 
    define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/'); 
    define('DIR_WS_CATALOG_LANGUAGES', DIR_WS_CATALOG . 'includes/languages/'); 
    define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . 'includes/languages/'); 
    define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); 
    define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . 'includes/modules/'); 
    define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/'); 

在服務器上的文件夾catalog是空的。因此DIR_WS_CATALOG設置爲/

我也看過filenames.php FILENAME_DEFAULT。我也有搜索引擎安全URL設置爲false。我不知道斜線是從哪裏來的。

+0

是否使用搜索引擎的網址安全? – 2011-12-19 14:14:28

+0

另外請確保您的「本地」目錄中的配置文件沒有加載,因爲上面的配置文件看起來絕對沒問題。 – 2011-12-19 14:17:42

+0

你是否在'local'目錄下有'admin/includes/local','includes/local'目錄?這些目錄只包含一個README文件。 – testing 2011-12-19 14:30:33

回答

2

這是一個很常見的問題,主要是通過使用尾部斜槓定義包含/configure.php的HTTP_SERVER常量而導致的。因此,如果您仍然遇到此問題,請首先確保瀏覽器中的網站未被緩存,並且configure.php文件實際上已寫入服務器(權限問題)。

如果問題仍然存在,逐步完成OSC URL生成過程將很有意義。 (我們假設您使用的是默認的OSC URL格式。)

默認情況下,OSC中的所有URL由位於includes/functions/html_output.php中的tep_href_link()函數生成。該功能非常簡單。它使用HTTP_SERVER常量並將其與DIR_WS_HTTP_CATALOG連接起來。然後添加$ page參數。即使沒有可以添加額外斜槓的位置,您可以嘗試添加一個調試代碼以找到問題的根源。

0

我不得不編輯這兩行:

define('DIR_WS_HTTP_CATALOG', '/'); 
    define('DIR_WS_HTTPS_CATALOG', '/'); 

他們

define('DIR_WS_HTTP_CATALOG', '//'); 
    define('DIR_WS_HTTPS_CATALOG', '//');