Hello!
I moved my opencart script from subfolder store/ to site root. In index of search engines there are links which point to old locations, for example:
mysite.tld/store/page24?limit=25
mysite.tld/store/page503
Some of those pages with parameters, some are not. I need them to be redirected like this:
mysite.tld/store/page24?limit=25 >>> mysite.tld/page24?limit=25
mysite.tld/store/page503 >>> mysite.tld/page503
I'm setting up .htaccess rules and to the moment ended with following directive:
But it doesn't work because of this directive:Code:RedirectMatch 301 ^/store/(.*)$ http://mysite.tld/$1
...or in such variant:Code:RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
I would remove last mentioned directive, but it is responsible for seo urls in opencart.Code:RewriteRule ^(.*) index.php?_route_=$1 [L,QSA]
Please help me to write proper directives, preferably using rewriterule, rewritecond (not RedirectMatch). I've read some manuals, like http://datakoncepts.com/SEO but all i've tried don't work:
Code:RewriteCond %{HTTP_HOST} ^mysite\.tld/store/$ [NC] RewriteRule .? http://mysite.tld/$1 [R=301,L]Code:RewriteMap noname txt:/domens/mysite.tld/1.txtCode:RewriteCond %{HTTP_HOST} ^mysite\.tld/store RewriteRule ^(.*)$ http://mysite.tld/$1 [R=301,L]Code:RewriteRule ^mysite\.tld/store/(.*)$ http://mysite.tld/$1 [R=301,L]
My current .htaccess:
Code:# 1.To use URL Alias you need to be running apache with mod_rewrite enabled. # 2. In your opencart directory rename htaccess.txt to .htaccess. # For any support issues please visit: http://www.opencart.com Options +FollowSymlinks # Prevent Directoy listing Options -Indexes # Prevent Direct Access to files <FilesMatch "\.(tpl|ini|log)"> Order deny,allow Deny from all </FilesMatch> # SEO URL Settings RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteBase / RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L] # disabled in ocstore 1.5.3.1: #RewriteRule ^yandexmarket.xml$ index.php?route=feed/yandex_market [L] # to www 301 redirect (in case it will be needed) # RewriteCond %{HTTP_HOST} !^www\. # RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # to non-www 301 redirect RewriteCond %{HTTP_HOST} ^www\. RewriteRule ^(.*)$ http://mysite.tld/$1 [R=301,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] ### 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 # partially working redirect #RedirectMatch 301 ^/store/(.*)$ http://mysite.tld/$1


Reply With Quote

EVERYTHING 
Bookmarks