X-Cart:Moving store to web-root directory

From X-Cart 4 Classic
Jump to: navigation, search

Here are the general instructions on how to move your cart to the web-root directory:

X-Cart 4.0or earlier

1. If you are using X-Cart 4.0.19 or earlier, make sure your product and category images are stored in the database. If they are stored on the filesystem, you should temporarily move them to the database. You can do that under the "Images location" section of the admin interface.

2. Move all the files from the directory where X-Cart is installed to the root web directory. You can do this using either FTP or (better) SSH access. File permissions must be preserved during the copying, otherwise you will need to adjust the permissions manually.

3. Edit the file config.php adjusting the $xcart_web_dir parameter. If your cart was installed in the "store" directory, you should replace the following string:

$xcart_web_dir ="/store";

with this:

$xcart_web_dir ="";
X-Cart 4.2or above

4. If you are using X-Cart version 4.2-4.4 and you have enabled clean urls in your .htaccess file, find the following lines in the file:

# Clean URLs [[[
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /xcart/
RewriteCond %{REQUEST_URI} !^/xcart/(payment|admin|provider|partner)/
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]
</IfModule>
# /Clean URLs ]]]

and replace them with the following:

# Clean URLs [[[
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(payment|admin|provider|partner)/
RewriteCond %{REQUEST_URI} !^/server-status
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]
</IfModule>
# /Clean URLs ]]]
X-Cart 4.4or above

5. If you are using X-Cart 4.4.x and have enabled CSS and JavaScript optimization tools in your .htaccess file, find the following lines in the file:

# Speed-Up JS and CSS [[[
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /xcart/
RewriteRule loader_(.+).css loader.php?type=css&md5_suffix=$1 [L]
RewriteRule loader_(.+).js loader.php?type=js&md5_suffix=$1 [L]
</IfModule>
# /Speed-Up JS and CSS ]]]

and replace them with the following:

# Speed-Up JS and CSS [[[
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule loader_(.+).css loader.php?type=css&md5_suffix=$1 [L]
RewriteRule loader_(.+).js loader.php?type=js&md5_suffix=$1 [L]
</IfModule>
# /Speed-Up JS and CSS ]]]

6. If you have enabled clean urls in your .htaccess file

# Clean URLs [[[
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /store/
RewriteCond %{REQUEST_URI} !^/xcart/(payment|admin|provider|partner)/
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]
</IfModule>
# /Clean URLs ]]]

you have to go in and change those as well

# Clean URLs [[[
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(payment|admin|provider|partner)/
RewriteCond %{REQUEST_URI} !^/server-status
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]
</IfModule>
# /Clean URLs ]]]

5. Check whether X-Cart is working fine in its new location.

6. If necessary, move the images from the database back to the filesystem.