Hi all,
I am currently migrating from my Zen cart webstore to opencart. Got myself a new hosting environment to work on so all i have to do when i am finished is switch the DNS of the domain. I have the basis opencart site set up, added all my products by hand and am now in the process of finalizing the migration with design of the homepage and setting up taxes, shipping methods etc.
I want to use 301 redirects from my old products and catergorys to my new opencart shop but i cannot seem to get it to work.
For example
I need http://www.pureandtimeless.nl/webshop/a ... -c-77.html to redirect to http://www.pureandtimeless.nl/webshop/Akoya-parels
Therefore i've added the following rule to my .htaccess
//301 Redirect Old File
Redirect 301 http://www.pureandtimeless.nl/webshop/a ... -c-77.html http://www.pureandtimeless.nl/webshop/Akoya-parels
And get an internal server error with this url as result: http://www.pureandtimeless.nl/webshop/A ... -c-77.html
I've tried various positions in the .htaccess file but no working result.
On the opencart site i have SEO urls enabled.
Is there anyone that can give me the solution?
There is no WWW url for this site yet. It runs on a development space i've gotten from my hosting provider.
Since it don't resolve on just the ip number i connect by setting an entry in my hostfile.
94.126.66.126 www.pureandtimeless.nl
I need to redirect about 550 produkt links, 10 categories and 20 information pages
Thanks in advance
Since it don't resolve on just the ip number i connect by setting an entry in my hostfile.
94.126.66.126 www.pureandtimeless.nl
I need to redirect about 550 produkt links, 10 categories and 20 information pages
Thanks in advance
I don't know what your "development space" setup is, but I've heard of self-hosted PC-based *AMPP installations having trouble with "real" looking URLs (such as http://<your domain>/...). Check your redirection command syntax -- you may not need to give the domain name if you're on the same server and domain for both.
Anyway, manually redirecting 500+ products sounds a bit much. If you're just trimming off the ZenCart style -<code>-<number>.html, you might be able to do that with a handful of generic .htaccess rewrite statements. The capitalization used for old and new would have to be consistent, as would be the name format. You might even be able to come up with a way to simply ignore the -<code>-<number>.html in the URL, either in .htaccess processing or in the store PHP code (strip it off internally, while permitting it for old bookmarks and SE indexes), and not returning a 301 redirect.
Anyway, manually redirecting 500+ products sounds a bit much. If you're just trimming off the ZenCart style -<code>-<number>.html, you might be able to do that with a handful of generic .htaccess rewrite statements. The capitalization used for old and new would have to be consistent, as would be the name format. You might even be able to come up with a way to simply ignore the -<code>-<number>.html in the URL, either in .htaccess processing or in the store PHP code (strip it off internally, while permitting it for old bookmarks and SE indexes), and not returning a 301 redirect.
Well, it depends exactly just what you're trying to do! Can you come up with a small set of rules such as "remove URL section ending in -c-numbers.html and capitalize the first letter, and return it with a 301 redirect code"? That sort of thing can probably be done fairly cleanly, so long as you do it in .htaccess before you get to any sections that process the modified URL. For simplicity, think twice about setting up your SEO to use a capital letter if the current one uses a lower case letter. Or, depending on whether anything is done in .htaccess to handle the new format (rather than in the PHP code), you might even be able to leave in the Zen Cart rewrite to simply handle the old Zen Cart format if that's what you receive.
Ok, finally had some tome to look into this a little more.
I have the 301 redirects working now by adding:
#301 redirects
RewriteRule ^page$ /page.html [L,E=LOOP:1]
RewriteCond %{ENV:REDIRECT_LOOP} !1
to my .htaccess. now redirects like
RewriteRule ^webshop/contact_us.html$ /index.php?route=information/contact [R=301,L]
RewriteRule ^webshop/tahiti-parels-c-65.html$ /Tahiti-parels [R=301,L]
are working for me.
For my information pages and categories it isn't too much of a problem creating the proper redirect. For my products there might be a way to redirect
/webshop/14-karaat-geelgouden-oorhangers-met-barok-tahiti-parels-p-1392.html to /14-karaat-geelgouden-oorhangers-met-barok-tahiti-parels
So without the /webshop/ folder and strip of the p-1392.html part otherwise the .htaccess file needs around 600 entries and that might hurt my seo on load speed. So if anyone has a nifty formula to put above redirect in a formula for my products the would be awesome. I am not a code magician so every help is appreciated a lot.
I have the 301 redirects working now by adding:
#301 redirects
RewriteRule ^page$ /page.html [L,E=LOOP:1]
RewriteCond %{ENV:REDIRECT_LOOP} !1
to my .htaccess. now redirects like
RewriteRule ^webshop/contact_us.html$ /index.php?route=information/contact [R=301,L]
RewriteRule ^webshop/tahiti-parels-c-65.html$ /Tahiti-parels [R=301,L]
are working for me.
For my information pages and categories it isn't too much of a problem creating the proper redirect. For my products there might be a way to redirect
/webshop/14-karaat-geelgouden-oorhangers-met-barok-tahiti-parels-p-1392.html to /14-karaat-geelgouden-oorhangers-met-barok-tahiti-parels
So without the /webshop/ folder and strip of the p-1392.html part otherwise the .htaccess file needs around 600 entries and that might hurt my seo on load speed. So if anyone has a nifty formula to put above redirect in a formula for my products the would be awesome. I am not a code magician so every help is appreciated a lot.
If all you need to do is strip off -p-XXXXX.html, -c-XXXXX.html, etc. from incoming URLs, that should be possible. Try something like
after RewriteEngine On but before any OpenCart SEO rewrites. Add more letters to the "pc" list as necessary (you might even be able to replace [pc] with [a-z] or \w). Give that a try and see if it does the job. If not, there might be other ways to approach it, either in .htaccess or in PHP code. The bottom line is that you should not have to list all these URLs individually -- there should be a way to treat them generically.
Mind you, if you also need to capitalize some letter(s) (or lowercase them), that is a separate issue which could get quite complicated. It might be better to handle that in PHP code.
Code: Select all
RewriteCond %{REQUEST_URI} ^(.*)-[pc]+-\d+\.html$
RewriteRule . %1 [R=301,L]
Mind you, if you also need to capitalize some letter(s) (or lowercase them), that is a separate issue which could get quite complicated. It might be better to handle that in PHP code.
Ah yes, I missed the "webshop" needing to go away. You probably want to combine the two, because now you have two "301" redirects happening (the first to strip off the webshop, and the second to strip off the suffix). Search engines will penalize you multiple redirects on one URL. It may be as simple as removing the R=301 and L flags from the first rewrite, so that it falls through (without "webshop") to the second rewrite.
I'm gonna need your expertise one last time Phil,
I have some remaining pages that are in he current format:
www.pureandtimeless.nl/webshop/page.html?id=11 that needs to resolve to www.pureandtimeless.nl/alles-over-parels
Did some google searching and come to this solution wich works
RewriteCond %{QUERY_STRING} id=11
RewriteRule ^index\.php$ alles-over-parels/? [L,R=301]
But when i add a second one with the same rule it gives a "ERR_TOO_MANY_REDIRECTS" error.
RewriteCond %{QUERY_STRING} id=82
RewriteRule ^index\.php$ hoe-kunt-u-zien-of-parels-echt-zijn-echte-parels-herkennen [L,R=301]
I think i am close but can't find it. Kindly advice
I have some remaining pages that are in he current format:
www.pureandtimeless.nl/webshop/page.html?id=11 that needs to resolve to www.pureandtimeless.nl/alles-over-parels
Did some google searching and come to this solution wich works
RewriteCond %{QUERY_STRING} id=11
RewriteRule ^index\.php$ alles-over-parels/? [L,R=301]
But when i add a second one with the same rule it gives a "ERR_TOO_MANY_REDIRECTS" error.
RewriteCond %{QUERY_STRING} id=82
RewriteRule ^index\.php$ hoe-kunt-u-zien-of-parels-echt-zijn-echte-parels-herkennen [L,R=301]
I think i am close but can't find it. Kindly advice
Who is online
Users browsing this forum: No registered users and 8 guests