Jump to content


Photo
* * * * * 1 votes

For those with issues, Few Tips


14 replies to this topic

#1 Jacob Bowen

Jacob Bowen

    Advanced Member

  • Members
  • PipPipPip
  • 37 posts
  • LocationTempe, Arizona

Posted 31 July 2013 - 08:37 PM

Hello People, So surfing thru the forums on alot of different sites that pertain to opencart, and even here on the openshop forum. I've noticed that people have alot of failings due to common things they did not due.

Remember, Always Delete your VqCache when adding/updating vqmods

Always keep your Cache folder clean (Located at /system/cache/)

Always Do backups, and with that do not use the built in backup/restore system in opencart as it CAN NOT HANDLE large databases(Mines roughly 40MB, couldn't use the backup once my DB became around 10-15MB)

When testing new Mods/Extentions, always use a test site, even if its http://www.stupiddomainname.com/Test , it doesn't have to be a subdomain.


With those things said, Here are a few files of use you guys might like:

 

A opencart Optimized .htaccess

<IfModule pagespeed_module>
	ModPagespeed off
	ModPagespeedEnableFilters move_css_above_scripts,move_css_to_head,rewrite_style_attributes,flatten_css_imports,make_google_analytics_async,combine_javascript,local_storage_cache
	ModPagespeedEnableFilters convert_jpeg_to_progressive,inline_preview_images,resize_mobile_images,remove_comments,collapse_whitespace,sprite_images,lazyload_images
	#ModPagespeedDisableFilters combine_css
</IfModule>

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin: "*"
	BrowserMatch MSIE ie
	Header set X-UA-Compatible "IE=Edge,chrome=1"
    # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
    <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$" >
      Header unset X-UA-Compatible
    </FilesMatch>
</IfModule>

<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
  </IfModule>
</FilesMatch>

AddType application/javascript         	js
AddType audio/ogg                      	oga ogg
AddType audio/mp4                      	m4a
AddType video/ogg                      	ogv
AddType video/mp4                      	mp4 m4v
AddType video/webm                     	webm
AddType image/svg+xml              		svg svgz 
AddEncoding gzip                       	svgz                      
AddType application/vnd.ms-fontobject  	eot
AddType application/x-font-ttf    		ttf ttc
AddType font/opentype                  	otf
AddType application/x-font-woff        	woff                                      
AddType image/x-icon                   	.ico
AddType image/webp                     	webp
AddType text/cache-manifest            	appcache manifest
AddType text/x-component               	htc
AddType application/x-chrome-extension 	crx
AddType application/x-xpinstall        	xpi
AddType application/octet-stream       	safariextz
AddType text/x-vcard                   	vcf


<FilesMatch "\.combined\.js$">
  Options +Includes
  AddOutputFilterByType INCLUDES application/javascript application/json
  SetOutputFilter INCLUDES
</FilesMatch>
<FilesMatch "\.combined\.css$">
  Options +Includes
  AddOutputFilterByType INCLUDES text/css
  SetOutputFilter INCLUDES
</FilesMatch>

<IfModule mod_deflate.c>

<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
  </IfModule>
</IfModule>

<IfModule filter_module>
  FilterDeclare   COMPRESS
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/plain
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/xml
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/x-component
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/javascript
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/json
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xml
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xhtml+xml
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/rss+xml
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/atom+xml
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/vnd.ms-fontobject
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/svg+xml
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/x-font-ttf
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type $font/opentype
  FilterChain     COMPRESS
  FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no
</IfModule>

<IfModule !mod_filter.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
  AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
  AddOutputFilterByType DEFLATE image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
</IfModule>
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive on

  ExpiresDefault                          		"access plus 1 month"
  ExpiresByType text/cache-manifest       		"access plus 0 seconds"
  ExpiresByType text/html                 		"access plus 0 seconds"
  ExpiresByType text/xml                  		"access plus 0 seconds"
  ExpiresByType application/xml           		"access plus 0 seconds"
  ExpiresByType application/json          		"access plus 0 seconds"
  ExpiresByType application/rss+xml       		"access plus 1 hour"
  ExpiresByType application/atom+xml      		"access plus 1 hour"
  ExpiresByType image/x-icon          	  		"access plus 1 month" 
  ExpiresByType image/gif                 		"access plus 1 month"
  ExpiresByType image/png                 		"access plus 1 month"
  ExpiresByType image/jpg                 		"access plus 1 month"
  ExpiresByType image/jpeg                		"access plus 1 month"
  ExpiresByType video/ogg                 		"access plus 1 month"
  ExpiresByType audio/ogg                 		"access plus 1 month"
  ExpiresByType video/mp4                 		"access plus 1 month"
  ExpiresByType video/webm                		"access plus 1 month"
  ExpiresByType text/x-component          		"access plus 1 month"
  ExpiresByType font/truetype             		"access plus 1 month"
  ExpiresByType font/opentype             		"access plus 1 month"
  ExpiresByType application/x-font-woff   		"access plus 1 month"
  ExpiresByType image/svg+xml             		"access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject 	"access plus 1 month"
  ExpiresByType text/css                  		"access plus 1 year"
  ExpiresByType application/javascript    		"access plus 1 year"
  
  <IfModule mod_headers.c>
    Header append Cache-Control "public"
  </IfModule>
  
</IfModule>

<IfModule mod_headers.c>
  Header unset ETag
</IfModule>

FileETag None

BrowserMatch "MSIE" brokenvary=1
BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
BrowserMatch "Opera" !brokenvary
SetEnvIf brokenvary 1 force-no-vary

 <IfModule mod_rewrite.c>
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
 </IfModule>
 
Options +FollowSymlinks
Options -Indexes

<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

Do you have ALOT of Items in your OC site? Is it running Very slow(4+ seconds to load)

More then likely this is due to OC's shitty handling of queries for product counts, Try these fix's:

 

If you are running 1.5.5.1 Try this Vqmod script (Just copy/paste into a file in your XML file such as making a file called say "Prodcutfix.xml"

    <!-- Created using vQmod XML Generator by UKSB - http://uksb.github.com/vqgen/ //-->
    <modification>
    <id><![CDATA[Fast Category Product Count Mod]]></id>
    <version><![CDATA[002]]></version>
    <vqmver><![CDATA[2.3.2]]></vqmver>
    <author><![CDATA[midgette ([email protected])]]></author>
    <file path="admin/model/catalog/" name="product.php">
    <operation info="Update category table whenever products are added to product_to_category table.">
    <search position="after" offset="1" index="1"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$category_id . "'");]]></search>
    <add><![CDATA[ $this->updateCategory();]]></add>
    </operation>
    <operation info="Update category table whenever products are updated in product_to_category table.">
    <search position="after" offset="2" index="2"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$category_id . "'");]]></search>
    <add><![CDATA[ $this->updateCategory();]]></add>
    </operation>
    <operation info="Update category table whenever products are deleted from product_to_category table.">
    <search position="after" index="3"><![CDATA[$this->cache->delete('product');]]></search>
    <add><![CDATA[ $this->updateCategory();
    }
    public function updateCategory() {
    $query = $this->db->query("SELECT COUNT(*) as 'haveqty' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" . DB_PREFIX . "category' AND COLUMN_NAME = 'qty'");
    if (empty($query->row['haveqty'])) {
    $this->db->query("ALTER TABLE " . DB_PREFIX . "category ADD COLUMN qty INT(11) DEFAULT 0 AFTER `status`");
    }
    $this->db->query("UPDATE " . DB_PREFIX . "category SET qty = (SELECT COUNT(*) FROM " . DB_PREFIX . "product_to_category WHERE category_id = " . DB_PREFIX . "category.category_id)");
    $this->cache->delete('category');]]></add>
    </operation>
    </file>
    <file path="admin/controller/setting/" name="setting.php">
    <operation>
    <search position="after" offset="5" index="1"><![CDATA[if (isset($this->request->post['config_product_count'])) {]]></search>
    <add><![CDATA[ $query = $this->db->query("SELECT COUNT(*) as 'haveqty' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" . DB_PREFIX . "category' AND COLUMN_NAME = 'qty'");
    if (empty($query->row['haveqty'])) {
    $this->db->query("ALTER TABLE " . DB_PREFIX . "category ADD COLUMN qty INT(11) DEFAULT 0 AFTER `status`");
    $this->db->query("UPDATE " . DB_PREFIX . "category SET qty = (SELECT COUNT(*) FROM " . DB_PREFIX . "product_to_category WHERE category_id = " . DB_PREFIX . "category.category_id)");
    $this->cache->delete('category');
    }
    ]]></add>
    </operation>
    </file>	
    <file path="catalog/controller/common/" name="header.php">
    <operation>
    <search position="replace" index="1"><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($data);]]></search>
    <add><![CDATA[//$product_total = $this->model_catalog_product->getTotalProducts($data);]]></add>
    </operation>
    <operation>
    <search position="replace" index="1"><![CDATA['name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),]]></search>
    <add><![CDATA['name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $child['qty'] . ')' : ''),]]></add>
    </operation>
    </file>
    <file path="catalog/controller/module/" name="category.php">
    <operation>
    <search position="replace" index="1"><![CDATA[$total = $this->model_catalog_product->getTotalProducts(array('filter_category_id' => $category['category_id']));]]></search>
    <add><![CDATA[//$total = $this->model_catalog_product->getTotalProducts(array('filter_category_id' => $category['category_id']));]]></add>
    </operation>
    <operation>
    <search position="replace" index="1"><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($data);]]></search>
    <add><![CDATA[//$product_total = $this->model_catalog_product->getTotalProducts($data);]]></add>
    </operation>
    <operation>
    <search position="replace" index="1"><![CDATA[$total += $product_total;]]></search>
    <add><![CDATA[//$total += $product_total;]]></add>
    </operation>
    <operation>
    <search position="replace" index="1"><![CDATA['name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),]]></search>
    <add><![CDATA['name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $child['qty'] . ')' : ''),]]></add>
    </operation>
    <operation>
    <search position="replace" index="1"><![CDATA['name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $total . ')' : ''),]]></search>
    <add><![CDATA['name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $category['qty'] . ')' : ''),]]></add>
    </operation>
    </file>
    <file path="catalog/controller/product/" name="category.php">
    <operation>
    <search position="replace" index="1"><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($data);]]></search>
    <add><![CDATA[//$product_total = $this->model_catalog_product->getTotalProducts($data);]]></add>
    </operation>
    <operation>
    <search position="replace" index="1"><![CDATA['name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),]]></search>
    <add><![CDATA['name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $result['qty'] . ')' : ''),]]></add>
    </operation>
    </file>
    </modification>

Or if you are running the new 1.5.6 Try this:

 

Open /catalog/controller/module/category.php and find this:

					'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

Replace it with:

					'name'        => $child['name'] . ($this->config->get('config_product_count') ? : ''),

Also Find:

				'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $total . ')' : ''),

Then replace with:

				'name'        => $category['name'] . ($this->config->get('config_product_count') ? : ''),

Then open /catalog/controller/common/header.php

 

Find line:

						'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),

Replace with:

						'name'  => $child['name'] . ($this->config->get('config_product_count') ? : ''),

The above fix for 1.5.6 Is a hack and slash fix, USE AT YOUR OWN RISK, as there is not a VQmod made yet for 1.5.6 that works,.

 

 

 

 

 

 

 

 

Well those are a few things, I'll add more little tid bits here and there and fix this up a bit, If MaxD wants to sticky this i'll make sure its updated so that people can have some go to place for small fix's.


  • 2

Follow my Shenanigans on Twitter

@scarecr0w12


#2 MaxD

MaxD

    Administrator

  • Administrators
  • 740 posts

Posted 31 July 2013 - 08:53 PM

Jacob, thats nice info peace! I move to OpenCart section and stick.


  • 0

#3 cabachona

cabachona

    Newbie

  • Members
  • Pip
  • 5 posts

Posted 19 August 2013 - 03:26 AM

I have followed these instructions above, though still cannot get openshop to work on my website. 

That is the frontend shows an error all the time..Fatal error: Call to a member function hasPermission() on a non-object in /home/akidnaco/public_html/vqmod/vqcache/vq2-system_engine_action.php on line 23

It does not matter which theme I use. I have cleaned the cache and done everything else I can think of.

It is driving me mad cos I am working on a client's site and had wowed her over and told her I can change the theme colours and all..now she is very disappointed in me.

What could be causing this condition to come up please?


  • 0

#4 MaxD

MaxD

    Administrator

  • Administrators
  • 740 posts

Posted 19 August 2013 - 08:37 AM

That is the frontend shows an error all the time..Fatal error: Call to a member function hasPermission() on a non-object in /home/akidnaco/public_html/vqmod/vqcache/vq2-system_engine_action.php on line 23

PM me admin log/pass and I will take a look.


  • 0

#5 Jacob Bowen

Jacob Bowen

    Advanced Member

  • Members
  • PipPipPip
  • 37 posts
  • LocationTempe, Arizona

Posted 19 August 2013 - 03:07 PM

Well my question would be, What are you doing directly before this error comes up, What version are you using in OC and OS, and what mods do you have installed.


  • 0

Follow my Shenanigans on Twitter

@scarecr0w12


#6 cabachona

cabachona

    Newbie

  • Members
  • Pip
  • 5 posts

Posted 20 August 2013 - 02:58 AM

PM me admin log/pass and I will take a look.

Thanks Max. I sent my details to you.



Well my question would be, What are you doing directly before this error comes up, What version are you using in OC and OS, and what mods do you have installed.

Hi Jacob,

 

Well, I have the very latest opencart and I installed the latest openshop 16, then uninstalled that and reinstalled the 16a. I had not installed any other apps in the beginning, though I have some different themes loaded after the problem continued. I figured if I could not have the openshop, I would see what some of the other themes would look like. I also have since installed an image manager as somehow the one that came with opencart did not work when I wanted to link to an image under "image" of the product. Yet it linked fine on the "data" page. 

 

Anyway, so far I still get the problem front end even if I disable everything I installed and only enable openshop, which defeats the purpose. 


  • 0

#7 Guest (guest)

Guest (guest)
  • Guests

Posted 20 August 2013 - 03:53 AM

Uninstall all of it, install 1.5.5.1, then OS 1.6a . The newest OC is horrid at best and needs to not be used until they atlest come out with the 1.5.6.1 to fix all the horrible things they caused.


  • 0

#8 Jacob Bowen

Jacob Bowen

    Advanced Member

  • Members
  • PipPipPip
  • 37 posts
  • LocationTempe, Arizona

Posted 20 August 2013 - 03:55 AM

Post above is me BTW, i forgot to login XD


  • 0

Follow my Shenanigans on Twitter

@scarecr0w12


#9 Guest (guest)

Guest (guest)
  • Guests

Posted 20 August 2013 - 04:15 AM

Uninstall all of it, install 1.5.5.1, then OS 1.6a . The newest OC is horrid at best and needs to not be used until they atlest come out with the 1.5.6.1 to fix all the horrible things they caused.

Ok Jacob, I will take on board what you have said. I will wait though til I  hear from Max and see what he says.

I have my own website which is using the later oc version with the older os 15 version and is working just fine. So it is really quite weird.

I may have to do this though as it is really frustrating as one website looks great and the other not so good at all, lol


  • 0

#10 cabachona

cabachona

    Newbie

  • Members
  • Pip
  • 5 posts

Posted 20 August 2013 - 04:16 AM

Yeah, just realised I wasn't logged in then either.  :D


  • 0

#11 Ernst Jakob

Ernst Jakob

    Advanced Member

  • Members
  • PipPipPip
  • 35 posts
  • LocationSwitzerland

Posted 29 June 2014 - 03:31 AM

I compared my .htaccess File with the One described above, in real action. I was surprised, the .htaccess file shown below makes my Openshop much faster, compared with the obe above.

# Rabbit Rabbit Security Upgrade
Options +SymLinksIfOwnerMatch

Header unset ETag
FileETag None

# Prevent Directory listing 
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
RewriteBase /shop/

# If using subdirectory, update RewriteBase /
# Store URL: ipc.li/shop
# Update to: RewriteBase /shop/

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

# compress text, HTML, JavaScript, CSS, and XML
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# remove browser bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none
# END OpenCart


<IfModule pagespeed_module>
 ModPagespeed on
 # using commands,filters etc
</IfModule>

# Leverage Browser Caching
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType image/jpg "access plus 1 week"
 ExpiresByType image/jpeg "access plus 1 week"
 ExpiresByType image/gif "access plus 1 week"
 ExpiresByType image/png "access plus 1 week"
 ExpiresByType text/css "access plus 1 week"
 ExpiresByType application/pdf "access plus 1 week"
 ExpiresByType text/x-javascript "access plus 1 week"
 ExpiresByType application/x-shockwave-flash "access plus 1 week"
 ExpiresByType image/x-icon "access plus 1 week"
 ExpiresDefault "access plus 1 week"
</IfModule>
Ideally combined, they could probably do much good, but, for the
time, I keep mine, found somewhere on the web...

best regards,

Ernie, OpenShop Fan
  • 0

#12 Guest (guest)

Guest (guest)
  • Guests

Posted 22 July 2014 - 05:32 AM

I compared my .htaccess File with the One described above, in real action. I was surprised, the .htaccess file shown below makes my Openshop much faster, compared with the obe above.
 

# Rabbit Rabbit Security Upgrade
Options +SymLinksIfOwnerMatch

Header unset ETag
FileETag None

# Prevent Directory listing 
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
RewriteBase /shop/

# If using subdirectory, update RewriteBase /
# Store URL: ipc.li/shop
# Update to: RewriteBase /shop/

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

# compress text, HTML, JavaScript, CSS, and XML
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# remove browser bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none
# END OpenCart


<IfModule pagespeed_module>
 ModPagespeed on
 # using commands,filters etc
</IfModule>

# Leverage Browser Caching
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType image/jpg "access plus 1 week"
 ExpiresByType image/jpeg "access plus 1 week"
 ExpiresByType image/gif "access plus 1 week"
 ExpiresByType image/png "access plus 1 week"
 ExpiresByType text/css "access plus 1 week"
 ExpiresByType application/pdf "access plus 1 week"
 ExpiresByType text/x-javascript "access plus 1 week"
 ExpiresByType application/x-shockwave-flash "access plus 1 week"
 ExpiresByType image/x-icon "access plus 1 week"
 ExpiresDefault "access plus 1 week"
</IfModule>
Ideally combined, they could probably do much good, but, for the
time, I keep mine, found somewhere on the web...

best regards,

Ernie, OpenShop Fan

 

This one worked wonders for me. It went from53 on Google Page Speed Test to 83. Thanks greatly.


  • 0

#13 Ernst Jakob

Ernst Jakob

    Advanced Member

  • Members
  • PipPipPip
  • 35 posts
  • LocationSwitzerland

Posted 22 July 2014 - 11:15 AM

I have been doing some extended Testing by use of 4 different Shops.

If someone has a lot of products to offer, this Post here could be of importance,

unlocking the OS/OC Brakes. It's all done by free available Mod's:

 

http://forum.opencar...t=39031#p507734

 

Ernie


  • 0

#14 xiaojun (guest)

xiaojun (guest)
  • Guests

Posted 07 September 2017 - 06:58 AM

20170907 junda

reebok outlet store birkenstock sandals michael kors handbags nike huarache air max 90 coach outlet canada canada goose outlet longchamp pliage ugg boots swarovski crystal ferragamo outlet michael kors cleveland cavaliers jersey cheap nba jerseys canada goose michael kors outlet true religion jeans adidas outlet store futbol baratas oakley sunglasses nfl jerseys wholesale coach outlet online nike store air max uk coach outlet online ugg outlet,ugg outlet clearance,uggs outlet,ugg outlet online clearance,ugg outlet store,ugg outlet online store,ugg outlet sale,ugg outlet coupons,ugg outlet boots michael kors outlet clearance coach outlet clearance polo ralph lauren coach outlet online nike air max 2015 canada goose jackets coach factory outlet coach factory outlet ugg boots christian louboutin shoes asics shoes pandora jewelry swarovski crystal polo ralph lauren nike shoes ralph lauren pas cher nike trainers polo ralph lauren canada goose jackets coach outlet online canada goose jackets canada goose jackets canada goose outlet tory burch outlet oakley sunglasses coach outlet oakley sunglasses wholesale michael kors michael kors outlet canada goose outlet ferragamo outlet christian louboutin shoes oakley sunglasses ugg outlet,uggs outlet,ugg outlet online clearance,ugg outlet store,ugg outlet coupons,ugg outlet boots,ugg outlet online store,ugg outlet sale valentino outlet coach outlet coach outlet online oakley sunglasses soccer shoes christian louboutin outlet michael kors outlet coach outlet coach outlet store online michael kors outlet cheap ray bans coach handbags canada goose jackets tory burch outlet nike outlet store lebron james shoes ysl outlet michael kors outlet nike roshe run true religion jeans cheap uggs outlet,cheap uggs for sale,cheap ugg boots,cheap uggs for kids,cheap uggs for women,cheap uggs bailey bow,cheap uggs china,cheap uggs for men,cheap uggs for girls,cheap uggs boots for women ugg outlet burberry outlet oakley sunglasses oakley sunglasses michael kors outlet ugg boots for women,ugg boots,ugg boots outlet,ugg boots on sale,ugg boots clearance,ugg boots for men,ugg boots for kids,ugg boots clearance sale women,ugg boots clearance outlet mac cosmetics christian louboutin outlet coach outlet online ralph lauren polo shirts ugg outlet cheap jordans michael kors outlet online nike factory outlet yeezy boost 350 hermes belt michael kors outlet kobe shoes ray ban sunglasses michael kors factory outlet mulberry bags cheap jordans tory burch shoes mulberry outlet store canada goose outlet ugg boots,ugg boots outlet,cheap uggs boots,ugg boots for women,ugg boots on sale,ugg boots clearance,ugg boots clearance sale women,ugg boots clearance outlet,ugg boots for men,ugg boots for kids oakley sunglasses michael kors outlet clearance coach outlet online hermes outlet ralph lauren polo coach factory outlet michael kors handbags canada goose outlet uggs outlet coach outlet online true religion outlet longchamp outlet cartier outlet cheap jordans ugg boots oakley sunglasses polo ralph lauren coach outlet jordan shoes ugg outlet birkenstock outlet michael kors outlet canada goose outlet swarovski outlet ugg boots clearance,ugg boots,ugg boots outlet,ugg boots for women,ugg boots on sale,ugg boots for men,ugg boots for kids,ugg boots clearance sale women,ugg boots clearance outlet mulberry handbags nike roshe one converse shoes ugg outlet oakley sunglasses tory burch outlet nba jerseys pandora charms longchamp solde christian louboutin online burberry outlet polo outlet fitflops sale clearance canada goose outlet coach outlet ray ban sunglasses michael kors outlet coach factory outlet tory burch outlet coach handbags polo ralph lauren coach outlet michael kors outlet michael kors outlet canada goose outlet coach outlet online cheap uggs kate spade outlet air max trainers longchamp handbags ray ban sunglasses michael kors outlet burberry outlet longchamp outlet michael kors handbags mulberry bags kate spade handbags coach outlet online polo outlet true religion outlet adidas wings louboutin shoes christian louboutin shoes kevin durant shoes michael kors wallets michael kors handbags ray ban sunglasses longchamp handbags links of london cheap snapbacks canada goose outlet michael kors outlet michael kors bags nike huarache coach outlet online ugg boots chrome hearts coach outlet lacoste polo shirts canada goose outlet prada sunglasses ray ban sunglasses lacoste soldes pandora charms sale clearance true religion jeans kate spade handbags ugg outlet coach factory outlet michael kors outlet coach outlet chrome hearts outlet ecco shoes oakley sunglasses adidas trainers cheap snapbacks jordan shoes kate spade outlet canada goose outlet nike trainers kobe bryant shoes longchamp solde swarovski outlet polo outlet nike air max fitflops outlet salomon shoes nike roshe canada goose jackets pandora jewelry fitflops oakley sunglasses canada goose outlet ferragamo shoes tory burch outlet ugg boots,ugg boots outlet,ugg boots for women,ugg boots on sale,ugg boots clearance,ugg boots for men,ugg boots for kids,ugg boots clearance sale women,ugg boots clearance outlet ugg outlet michael kors outlet coach outlet true religion jeans canada goose jackets lebron james shoes air jordan 4 nike air force 1 canada goose outlet coach outlet online true religion jeans ugg outlet uggs outlet reebok trainers cheap mlb jerseys nike shoes air max 90 football shirts christian louboutin uk coach outlet air max uk coach factory outlet burberry outlet michael kors outlet ugg outlet,ugg outlet sale,uggs outlet,ugg outlet online clearance,ugg outlet store,ugg outlet coupons,ugg outlet boots,ugg outlet online store polo shirts oakley sunglasses fitflops sale clearance ralph lauren outlet michael kors handbags michael kors michael kors outlet online oakley sunglasses michael kors mont blanc pens christian louboutin outlet coach factory outlet oakley sunglasses nike blazer pas cher nike outlet longchamp outlet prada handbags mulberry sale ray ban sunglasses mulberry handbags oakley sunglasses ray ban sunglasses ray ban sunglasses coach outlet fitflops sale true religion jeans yeezy boost nike store uk michael kors outlet true religion jeans swarovski crystal coach outlet coach outlet online longchamp pas cher ugg outlet polo ralph lauren polo ralph lauren ralph lauren uk kate spade outlet tory burch outlet coach outlet online lakers jerseys adidas nmd ugg outlet polo ralph lauren oakley sunglasses wholesale christian louboutin outlet coach outlet hermes outlet herve leger outlet ralph lauren outlet air max 1 ray ban sunglasses ralph lauren polo ugg outlet clearance,ugg outlet online clearance,ugg outlet,uggs outlet,ugg outlet store,ugg outlet coupons,ugg outlet boots,ugg outlet online store,ugg outlet sale tods outlet ray ban sunglasses ugg outlet cheap jerseys ugg outlet,ugg outlet store,uggs outlet,ugg outlet online clearance,ugg outlet coupons,ugg outlet boots,ugg outlet online store,ugg outlet sale puma outlet vans shoes michael kors michael kors handbags air max 90 jordan shoes cheap jordans polo outlet soccer jerseys hermes birkin michael kors outlet pandora charms nike free 5 ferragamo shoes moncler jackets polo outlet ugg boots michael kors outlet online longchamp handbags canada goose outlet ed hardy clothing michael kors outlet kobe 9 michael kors handbags coach outlet online ray ban sunglasses canada goose outlet ferragamo outlet ray ban sunglasses ugg outlet cazal sunglasses true religion uk canada goose outlet canada goose jackets coach outlet online ray ban sunglasses canada goose outlet mulberry handbags ray ban sunglasses michael kors factory outlet mcm outlet ralph lauren polo swarovski crystal coach factory outlet christian louboutin outlet soccer jerseys fitflops ugg boots coach outlet oakley sunglasses giuseppe zanotti outlet coach factory outlet ferragamo shoes cheap nhl jerseys longchamp bags longchamp bags marc jacobs outlet nike shoes cheap ugg boots true religion jeans coach outlet coach handbags mulberry handbags coach outlet ray ban sunglasses true religion jeans ralph lauren uk nfl jersey wholesale coach outlet thomas sabo kate spade outlet ray bans ralph lauren polo nike foamposite fitflops shoes ray bans tory burch outlet prada shoes new balance shoes fitflops sale clearance coach outlet michael kors outlet online true religion outlet mlb jerseys wholesale adidas nmd adidas uk ralph lauren polo canada goose outlet ralph lauren sale bottega veneta outlet true religion jeans supra shoes true religion jeans fitflops shoes basketball shoes coach outlet kate spade outlet kate spade outlet oakley sunglasses pandora jewelry mulberry outlet mbt shoes oakley sunglasses montblanc pens coach outlet prada outlet ugg boots ray-ban sunglasses coach factory outlet nfl jersey wholesale air max 90 fred perry polo shirts ferragamo shoes christian louboutin outlet true religion outlet oakley sunglasses

 


  • 0

#15 Guest (guest)

Guest (guest)
  • Guests

Posted 14 September 2017 - 07:16 AM

Ray Ban Sunglasses

 

Jordan Shoes

 

Timberland Boots

 

Kate Spade Handbags Outlet

 

ray ban sunglasses

 

ray ban outlet

 

coach outlet store

 

the north face Jackets

 

Michael Kors Outlet Store Online

 

Coach Outlet Online

 

north face outlet

 

Coach Outlet Online Store

 

kate spade outlet store

 

coach outlet store

 

Coach Outlet Store

 

polo ralph lauren

 

Polo Outlet

 

adidas yeezy boost 750

 

Red Bottom Shoes

 

adidas nmd runner

 

Cheap Christian Louboutin

 

cheap true religion outlet

 

true religion jeans

 

Pandora Bracelet

 

Salvatore Ferragamo Shoes

 

The North Face Outlet

 

Polo Ralph Lauren

 

Kate spade outlet online

 

Ray Ban outlet

 

Kate Spade Outlet Store

 

Tory Burch Outlet

 

Oakley Sunglasses

 

Cheap Jordans

 

Pandora Charms

 

Ray Ban Sunglasses

 

Salomon Shoes Outlet

 

Nike Outlet

 

Converse Outlet

 

Adidas Yeezy Shoes

 

Tommy Hilfiger Polos

 

New Balance

 

Cheap Asics Shoes

 

Coach Factory Outlet

 

Coach Outlet

 

Coach Outlet Stores

 

Coach Factory Outlet

 

Michael Kor Outlet Online

 

Michael Kors Factory Outlet

 

Michael Kors Outlet Store Online

 

Michael Kors Outlet

 

michael kors outlet online

 

Coach Outlet online

 

Michael Kors Handbags

 

Coach Handbags Outlet

 

Michael Kors US

 

nike air max

 

cheap nike shoes

 

air jordan shoes

 

cheap air Jordan

 

tory burch outlet stores

 

Giuseppe Zanotti Shoes

 

Polo Ralph Lauren Shirts

 

Ralph Lauren Outlet

 

Coach Outlet Store

 

Coach Handbags Outlet

 

Cheap Oakley

 

true religion outlet store

 

Ed Hardy Outlet

 

Under Armour Outlet Online

 

Cheap Jordans 11

 

Christian Louboutin Outlet

 

Nike Outlet

 

coach outlet online

 

Michael Kors Handbags

 

tory burch shoes

 

oakley sunglasses

 

oakley outlet

 

adidas yeezy boost 350 v2

 

adidas nmd

 

true religion

 

jordan shoes 11

 

cheap jordan shoes

 

oakley sunglasses

 

vans shoes

 

Coach Outlet Store

 

nike outlet store

 

uggs outlet

 

Ugg Australia

 

pandora jewelry charms

 

swarovski jewelry

 

Cheap UGGS

 

Air Max 90

 

Coach outlet

 

Kate Spade

 

montblanc pen

 

Prada Handbags

 

Salomon Outlet

 

Moncler Jacket Outlet

 

Christian Louboutin Outlet

 

Polo Ralph Lauren

 

Ray Ban Sunglasses

 

Coach Outlet

 

Cheap nba jerseys

 

ray ban eyeglasses

 

cheap jerseys baseball

 

oakley sunglasses

 

Michael Kors Handbags

 

Ray-Ban Sunglasses Outlet

 

michael kors bags

 

oakley sunglasses

 

Coach Factory Outlet Online

 

Michael Kors Handbags

 

sac longchamp pliage

 

mont blanc

 

chaussures louboutin

 

Fitflops Sale Clearance

 

coach outlet online

 

longchamp

 

coach outlet store online

 

Ray Ban Sunglasses Outlet

 

Mont blanc Pens

 

Moncler Outlet

 

burberry sale

 

Vans Shoes

 

under armour shoes

 

north face

 

longchamp

 

fitflops sale clearance

 

swarovski jewelry

 

polo outlet

 

Timberland Outlet

 

ugg outlet

 

ralph lauren

 

timberland shoes

 

Cheap NBA Jerseys

 

Nike Outlet Store

 

nba jerseys

 

nhl jerseys sale

 

under armour shoes

 

Coach Outlet Online

 

authentic nfl jerseys

 

Christian Louboutin Outlet

 

Adidas NMD Mens

 

red bottom heels

 

cheap jerseys sale

 

coach purses outlet online

 

ugg boots

 

nike air max

 

red bottom heels

 

Adidas Outlet

 

Christian Louboutin Shoes

 

ugg boots for women

 

michael kors outlet

 

Cheap Uggs

 

pandora rings

 

uggs outlet

 

swarovski jewelry

 

Ugg Outlet Online

 

cheap oakley sunglasses

 

ugg boots

 

Coach Outlet

 

Ray Ban Outlet Store

 

Coach Outlet

 

Oakley Sunglasses

 

Coach Bags Outlet

 

Moncler sale

 

Fitflop Sandals

 

Prada Outlet

 

Coach Factory Outlet Store

 

Michael Kors Handbags Outlet

 

Tory Burch

 

Ray Ban Outlet Store

 

cheap oakley outlet

 

The North Face Outlet

 

Burberry Outlet

 

Michael Kors Outlet Online

 

Polo Ralph Lauren

 

longchamp bags

 

Swarovski Jewelry

 

Cheap Oakley Sunglasses

 

Timberland Outlet

 

longchamp

 

Coach Cyber Monday

 

Michael Kors Black Friday

 

uggs outlet

 

Coach Factory Outlet

 

Michael Kors Handbags

 

Ugg boots

 

north face outlet
 

 


  • 0



Reply to this topic



  



 

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Community Skin by Fredson Nunes Junior