Page 3 of 3

Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Tue Jun 15, 2010 4:42 am
by shotputty
I will purchase another license (new site) today and will send you the ftp of that domain. If you can solve the static pages on that site I can use that generic solution on my other site.
The reason is i can't have testing too much on a very busy domain. If this will work you migth help out many more and make this license much more interesting for OScommerce user.

I will PM soon. ;)

Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Thu Jun 17, 2010 1:09 am
by shotputty
I see some efforts have been made in .htaccess. I've been told no custom MSU licenses are possible.

If you can't get it to work, what are my options?

Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Thu Jun 17, 2010 8:49 am
by inveo
Customized MSU are no longer provided.

Regarding your requested changes to .htaccess file, we are working on it.

Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Mon Jun 28, 2010 1:48 am
by shotputty
I've tried some custom rules myself for some time now, can't seem to get anything to work.

I know this rule makes the pages work (but not redirect):

Code: Select all

RewriteRule ^([a-z]{2})/all-products$ all_products.php?language=$1 [L,QSA]


Then I thought if I redirect the non-seo pages to that SEO page I'm done, but then I get eternal loops.

http://www.powersupplements.de/all_prod ... anguage=en redirects to http://www.powersupplements.de/en/all-products which is rewritten internally like it should to the http://www.powersupplements.de/all_products.php page which is then redirected to the nice SEO page and so on....

Is it possible to use $_SERVER['REQUEST_URI'] (in .htaccess) as a way to stop the redirect when it lands on the SEO page? :roll:

If you login with ftp there's no need to change permissions on .htaccess, it isn't being overwritten by MSU whatsoever. :|

Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Wed Jun 30, 2010 5:38 am
by shotputty
I made a MOD which I will post here. It works for custom pages, you only need to change the tep_href_link function in your includes/html_output.php file, and add 1 line of code per new page in your .htaccess file.

First backup!!
Then replace from
// The HTML href link wrapper function
until
return $link ; }


with this code:

Code: Select all

  ////
// The HTML href link wrapper function
  function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
    global $request_type, $session_started, $SID, $unCurrentLang  ;

    if (!tep_not_null($page)) {
      die('</td></tr></table></td></tr></table><br><br><font color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine the page link!<br><br>');
    }

    if ($connection == 'NONSSL') {
     $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG ;
     
     
    } elseif ($connection == 'SSL') {
      if (ENABLE_SSL == true) {
        $link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
      } else {
        $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
      }
    } else {
      die('</td></tr></table></td></tr></table><br><br><font color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine connection method on a link!<br><br>Known methods: NONSSL SSL</b><br><br>');
    }


//Modification for Magic Seo Url custom pages addition for OScommerce

//for each additional page add a line with a subsequent number like: $customepages_non_seo[following number] = "your_new__non_seo_name_page.php" ;
$customepages_non_seo[0] = "all_products.php" ;
$customepages_non_seo[1] = "some_products.php" ;

//for each additional page add a line with the SEO NAME YOU WANT (!) with a subsequent number like: $customepages_yes_seo[corresponding number] = "your-seo-name-for-that-page-without-extension-if-you-like" ;
$customepages_yes_seo[0] = "all-products" ;
$customepages_yes_seo[1] = "some-products" ;

//add each new page in includes/filenames.php like any other page (example): define('FILENAME_SOME_PRODUCTS', 'some_products.php');
//add catalog/your_new_file.php and includes/languages/your_new_file.php (this is basic OScommerce knowledge for adding pages)

//place 1 rule per new page in .htaccess like this:
// RewriteRule ^([a-z]{2})/all-products$ all_products.php?language=$1 [L,QSA]
//change accordingly to your own names for each line you add

if (tep_not_null($parameters)) {

switch ($page) {

    case in_array($page, $customepages_non_seo) :
       $seokey = array_search($page, $customepages_non_seo); // $seokey = ''number corresponding to the page;
       $parts = explode("=",$parameters);  //break the string up around the "=" character in $mystring
 
           if ($parameters == 'language=' . $parts['1']) {
             $link .= $parts['1'] . '/' . $customepages_yes_seo[$seokey] ;
           } else {
             $link .= $unCurrentLang . '/' . $customepages_yes_seo[$seokey] . '?' . tep_output_string($parameters);
             $separator = '&';
           }
    break;




  //original code
   default:
   $link .= $page . '?' . tep_output_string($parameters);
   $separator = '&';
//end original code
}

} else {

switch ($page) {

    case in_array($page, $customepages_non_seo) :
    $seokey = array_search($page, $customepages_non_seo); // $seokey = ''number corresponding to the page;
     $link .= $unCurrentLang  . '/' . $customepages_yes_seo[$seokey] ;
     $separator = '?';
   break;



 default:
 //original code
 
  $link .= $page ;
  $separator = '?';
//end original code
}}
//end of modification for Magic Se0 Url









    while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link = substr($link, 0, -1);

// Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined
    if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) {
      if (tep_not_null($SID)) {
        $_sid = $SID;
      } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) {
        if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) {
          $_sid = tep_session_name() . '=' . tep_session_id();
        }
      }
    }

    if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) {
      while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);

      $link = str_replace('?', '/', $link);
      $link = str_replace('&', '/', $link);
      $link = str_replace('=', '/', $link);

      $separator = '?';
    }

    if (isset($_sid)) {
      $link .= $separator . tep_output_string($_sid);
    }

    return $link ;
  }


add each new page in includes/filenames.php like any other page (example): define('FILENAME_SOME_PRODUCTS', 'some_products.php');
add catalog/your_new_file.php and includes/languages/your_new_file.php (this is basic OScommerce knowledge for adding pages)

place 1 rule per new page in .htaccess like this:
RewriteRule ^([a-z]{2})/all-products$ all_products.php?language=$1 [L,QSA]
change accordingly to your own names for each line you add

IMPORTANT, this code (above) contains two example filenames, you need to adjust them or add new ones according to your own pagenames!!

IMPORTANT 2: this code is setup for multilanguage, it will add the /en or /fr or /de between your url and your filename.


Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Sat Sep 18, 2010 2:38 pm
by ranton
Thid mod works also if the page has parameters? Like:

http://www.domain.com/shop/categories.php?cPath=2

Thank You

Re: [osCommerce] Rewrite rule for custom page not redirectin

Posted: Wed Sep 22, 2010 5:28 am
by shotputty
This MOD works only for static pages. For dynamic pages I'm waiting for a reply from the admin (See my other post in this section).

Cart  
(empty)

Cart Check out  »

Prices are tax inclusive.

The VAT rate for your country (US) * is 0,0 % because it is not a member of the European Union (EU).

* Please create an account if your country does not match.

Community feed
  • [Zen Cart] Can't execute Magic SEO URLs sitemaps
    I installed Magic SEO URLs Sitemaps Add-On for ZenCart MSU4.x/MSU5.x 2.0 on my server, when I try to generate sitemaps using: https://www.pechesudv155.owally.com/sitemaps.php I received :...
    by peter@pechesud.com
  • [phpBB3] Sharing users between phpBB / PrestaShop
    Hi i have 2 question 1- prestashop module support phpBB 3.3 ? 2- why we can not login in prestashop and phpbb with same user?
    by zohall
  • [phpBB3] AJAX Userinfo Extension
    Hi! I'm having trouble with this extension: https://www.phpbb.com/customise/db/exte ... _userinfo/ I tried asking support from the author but for no avail, since now. My request for support...
    by Lord Phobos
  • [phpBB3] Upgrade to phpBB 3.2.3
    Hello.. after Upgrade to phpBB 3.2.3 I am getting this message.. How can I solve this issue..? Thank you
    by ingbrzy
  • [phpBB3] URL path changed
    Hello.. I have changed my site path after moving to new hosting and now can not activate SEO module.. new path http://www.miuios.cz/domains/miuios.cz/ could you help me? thank you
    by ingbrzy2
Join our support forum » Pre-Sales Questions »
Featured Testimonials

The Inveo team provided the best service and support that we have received from any vendors we have ever used. They did work that was far beyond the scope of the purchase, and for this we are grateful and can certainly highly recommend them to anyone else.

Allen, the owner of Zele Private Investigator Philippines

I normally don't give product testimonials, but your product works so well that I just can't keep quiet about it. I am a web designer and SEO, over the years I've worked with my different shopping carts and one of their biggest weaknesses is bad SEO of the cart link structure, in particular duplicate content issues through out most carts....

Kinnaert, the owner of Arnolds Office Furniture

More Testimonials »