Zen Cart Logo
Forums / All Other Contributions/Addons / Simple SEO URL (OLD version) [support thread]

Simple SEO URL (OLD version) [support thread]

Views: 1,113,779

Results 1,541 to 1,560 of 5,058
6 Dec 2008, 3:25 AM
#1541
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Simple SEO URL (OLD version) [support thread]

Grace38:

I typed too soon. Thought i had it back as the login page actually showed up this time.

When i try and login it doesn't load and says something about a redirect.

Interesting thing is it shows two // after the .com part and before the catalog part in the browser bar.
Either not all files were removed, or the htaccess changes are being loaded one by one (and slowly)

6 Dec 2008, 9:03 PM
#1542
nagelkruid avatar

nagelkruid

Zen Follower

Join Date:
Nov 2006
Posts:
284
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

hey yellow,
what would you recommend when i want to link to internal category from ezpage?
do i use
/shop/mynice-cat-c-91
/shop/index.php?mainpage=curl=c-91
or
something different?

this one confuses me for a while and can't find a good answer.
cheers,
Jeroen

6 Dec 2008, 9:50 PM
#1543
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Im not sure what you mean?
Oh..., use this
index.php?main_page=index&cpath=91

nagelkruid:

hey yellow,
what would you recommend when i want to link to internal category from ezpage?
do i use
/shop/mynice-cat-c-91
/shop/index.php?mainpage=curl=c-91
or
something different?

this one confuses me for a while and can't find a good answer.
cheers,
Jeroen

6 Dec 2008, 11:32 PM
#1544
munchie75 avatar

munchie75

New Zenner

Join Date:
Nov 2008
Posts:
12
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Is this link down at the moment ??

https://svn.rubikintegration.com/zen...hared_classes/)

As i am banging my head trying to get Simple SEO installed and becasue i need module manager, which the shared_classes, i don't know where to start.

Tried the Rev 15 (install) of module manager, but it appears to just hang in SIte manager and not fully install... any ideas.. ??

I have got my site ready to go live and want to put the SEO first, but am suddenly stumped lol

6 Dec 2008, 11:34 PM
#1545
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Munchie75:

Is this link down at the moment ??

https://svn.rubikintegration.com/zen...hared_classes/)

As i am banging my head trying to get Simple SEO installed and becasue i need module manager, which the shared_classes, i don't know where to start.

Tried the Rev 15 (install) of module manager, but it appears to just hang in SIte manager and not fully install... any ideas.. ??

I have got my site ready to go live and want to put the SEO first, but am suddenly stumped lol
That link is down for like....forever.

The module manager can be found here:
http://code.google.com/p/zencart-module-manager/downloads/list

And as for SSU versions, please use:
http://public.rubikintegration.com/

7 Dec 2008, 1:40 PM
#1546
munchie75 avatar

munchie75

New Zenner

Join Date:
Nov 2008
Posts:
12
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Thanks for that speedy reply.
I guess URL's do change over time, and it's a shame we're not able to edit the older posts so people are aware of this.

I came across the article about redirecting your site:
http://wiki.rubikintegration.com/zencart/modules/ssu/for_users/www_and_nonwww

So i amble to write the path of my URLs from:

http://example.com

To

http://www.example.com

As this is supposed to give me more qualified hits on the actual domain.

I followed the below instructions but am not getting the redirection.

trailing slash

If URL-path does not contain a period or end with a slash

#RewriteCond %{REQUEST_URI} !(.|/$)

add a trailing slash

#RewriteRule (.*) http://www.example.com/$1/ [R=301,L]

Redirect non-www domain requests to www domain

RewriteCond %{HTTP_HOST} ^example.
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

In the line
RewriteCond %{HTTP_HOST} ^example.

what should i type where 'example' is written, as i think this may be the cause of my problem.

Many thanks
Andy

7 Dec 2008, 3:01 PM
#1547
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

example is your site name

Or you can use this posted by
nagelkruid

Here is the code i use.
It is much more diverse and in the (nl) you can do things like (com|co.uk|ca|co.cz) or whatever suits the needs

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www..*
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^([^.]).(nl)
RewriteRule ^.
$ http://www.%1.%2%{REQUEST_URI} [R=permanent,L]

Most important for me was, it won't break webmail.example.nl which we use for webmail.
In fact, as a bonus, garbageortypos.example.nl will also work and go to the shop :)

Anyway, just liked to share that, cheers

8 Dec 2008, 12:48 AM
#1548
teva avatar

teva

Zen Follower

Join Date:
Sep 2004
Posts:
101
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

I just upgraded from 2.9.6 to 3.2 and got the "Redirect Loop" problem.

If i just point to the product, i see link ok (https://www.mysite.com/category_1/product_1/), but when i click on this product i get Redirect problem and link in the URL is like this http://www.mysite.com/categories_name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.name.c.ke.c.1/products-name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.name.p.osvoboditev.p.3

Before upgrade, all was working fine. Any idea what to do?

tnx

Redirect Loop
Redirection limit for this URL exceeded. Unable to load the requested page. This may be caused by cookies that are blocked.

The browser has stopped trying to retrieve the requested item. The site is

redirecting the request in a way that will never complete.

  • Have you disabled or blocked cookies required by this site?
  • NOTE: If accepting the site's cookies does not resolve the problem, it is probably a server configuration issue and not your computer.*
8 Dec 2008, 1:45 AM
#1549
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Clear cache in admin, see if that solves the problem

8 Dec 2008, 1:54 AM
#1550
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

BTW, where did you get 3.2? The current latest package is ssu_beta_3.4.6(php5).

And also check if you accidentally over-wrote changes you made in htaccess. PMme link to your site as well, if you still have problem after checking all the above suggestions.

8 Dec 2008, 9:58 AM
#1551
teva avatar

teva

Zen Follower

Join Date:
Sep 2004
Posts:
101
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

I cleared cache few times...no change
I use ssu_beta_3.4.6(php5).zip (my mistake about 3.2)
I used htaccess from the original zip file.

edit: If i clear cache i can open categories (URL is still wrong /categories_name.c.categories_name.c.ke.c.1), but not the products.

tnx

8 Dec 2008, 10:01 AM
#1552
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

teva:

I cleared cache few times...no change
I use ssu_beta_3.4.6(php5).zip (my mistake about 3.2)
I used htaccess from the original zip file.

You can check site at http://www.aura-soma.si/

tnx
Can you post the htaccess content?

PS: if you change the delimiter from . to - and clear cache, does the error go away?

8 Dec 2008, 10:19 AM
#1553
teva avatar

teva

Zen Follower

Join Date:
Sep 2004
Posts:
101
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Darnedest thing....i changed from . to - and works fine now.

Is this a bug or something else? I remember that this worked on ver 2

anyway...tnx

8 Dec 2008, 10:24 AM
#1554
teva avatar

teva

Zen Follower

Join Date:
Sep 2004
Posts:
101
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Another thing. Is it possible to use alias for pages like login, logout, cart,....?
I made alias for /products_all to /all_products but they are not working

If i manually write url like mystore.com/all_products it shows the right page, but if i follow a link, then it's show default /products_all url

tnx

8 Dec 2008, 10:25 AM
#1555
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

teva:

Darnedest thing....i changed from . to - and works fine now.

Is this a bug or something else? I remember that this worked on ver 2

anyway...tnx
It is a bug, and you will see a new version available within 5 minutes that addresses this bug.

8 Dec 2008, 10:30 AM
#1556
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

You should be able to use alias for anything

Example:

http://demo.rubikintegration.com/zencart/all

Make sure you turn on link alias and clear alias cache whenever you make change.

Edit: actually, after rechecking it, link_alias doesnt work very well with pages that are "fixed" such as contact_us, you can expect to see this works seamlessly in the next version.

teva:

Another thing. Is it possible to use alias for pages like login, logout, cart,....?
I made alias for /products_all to /all_products but they are not working

If i manually write url like mystore.com/all_products it shows the right page, but if i follow a link, then it's show default /products_all url

tnx

8 Dec 2008, 10:44 AM
#1557
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Okie, if you want link alias to work on fixed "pages" you can use new code for includes/classes/ssu/cores/link.php

The reason I haven't put it in a new version yet is because I want to fully test it first. But 99% it should work fine.

Demo: link.php

<?php
    class SSULink{
        protected $original_uri;
        protected $redirect_type    =    0;
        protected $alias_filename;
        
        /**
         * Rebuilds $_GET array
         * Takes care of redirection if needed
         */
        public function parseURL(){
            global $request_type;
            
            // get out if SSU is off or this is not an index.php page        
            if(!SSUConfig::registry('configs', 'status') || (end(explode('/', $_SERVER["SCRIPT_NAME"])) != 'index.php'))
                return false;
                
            // remove the catalog dir from the link    
            $catalog_dir = SSUConfig::registry('paths', 'catalog');
            $regex = array('/'.str_replace('/','\/', $catalog_dir).'/');
            $this->original_uri = trim($catalog_dir=='/' ? $_SERVER['REQUEST_URI'] : preg_replace($regex,'', $_SERVER['REQUEST_URI'], 1), '/');
            
            // if the index.php is in the url, lets see if we need to rebuild the path and redirect.
            if((strpos($this->original_uri, 'index.php') !== false)){
                if($this->checkPageExcludedList($_GET['main_page']))
                    return false;
                $this->redirect_type = 2;
                return false;
            }
            
            // if we are using multi-lang, then we should have language code at the very beginning
            if(SSUConfig::registry('configs', 'multilang_status')){
                $languages_code = substr($this->original_uri, 0, 2);
                if(!array_key_exists($languages_code, SSUConfig::registry('languages')))
                    $this->redirect_type = 1;
                else{
                    $_get['language'] = $languages_code;
                    $this->original_uri   = trim(substr($this->original_uri, 2), '/');
                }
            }
            
            if(empty($this->original_uri)){
                $_get['main_page'] = 'index';
            }
            else{
                // if we have a link like this http://site.com/en/?blah=blahblah, we assume it is an index page
                if(substr($this->original_uri, 0, 1) == '?'){
                    parse_str(trim($this->original_uri, '?'), $_get);
                    if(!isset($_get['main_page']))
                        $_get['main_page'] = 'index';
                    $this->rebuildENV($_get, $catalog_dir);
                    $this->redirect_type = 1;
                    return false;
                }
                
                $this->original_uri = str_replace(array('&','&','=','?'),'/', $this->original_uri);
                
                // if we are using link alias, lets attempt to get the parsed content from cache
                if(SSUConfig::registry('configs', 'alias_status')){
                    $this->alias_filename = md5($_SERVER['REQUEST_URI']);
                    if(($alias_get_array = SSUCache::read($this->alias_filename, 'aliases')) !== false){
                        parse_str($alias_get_array, $_get);
                        $this->rebuildENV($_get, $catalog_dir);
                        $this->redirect_type = 1;
                        return true;
                    }
                    else
                        SSUAlias::aliasToLink($this->original_uri);
                }

                // explode the params link into an array
                $parts = explode('/', preg_replace('/\/\/+/', '/', $this->original_uri));        
                
                // identify and assign main page
                if(!isset($_get['main_page'])){
                    $parsers = SSUConfig::registry('plugins', 'parsers');
                    foreach($parsers as $key => $parser)
                        if(call_user_func_array(array("{$parser}Parser", "identifyPage"), array(&$parts, &$_get))){
                            unset($parsers[$key]);
                            $this->redirect_type = 1;
                            break;
                        }
                        
                    // found nothing?
                    if(!isset($_get['main_page'])){
                        $_get['main_page'] = $parts[0];
                        unset($parts[0]);
                    }
                }
                
                /*
                 * This is where we loop thru the query parts and put things into their places
                 * We need to do it this way because we want to keep the generated GET array in the correct order.
                 */
                $parts          = array_values($parts);
                $parts_count = count($parts);
                for($counter = 0; $counter < $parts_count; $counter++){
                    $parser_encountered = false;
                    foreach($parsers as $key => $parser){
                        if(call_user_func_array(array("{$parser}Parser", "identifyName"), array($parts[$counter]))){
                            call_user_func_array(array("{$parser}Parser", "updateGet"), array($parts[$counter], &$_get));
                            $this->redirect_type = 1;
                            $parser_encountered = true;
                            unset($parsers[$key]);
                            break;
                        }
                    }
                    if(!$parser_encountered)
                        $_get[$parts[$counter]] = isset($parts[$counter+1]) ? $parts[++$counter] : '';
                }

                // remove extension, it's in the link just for show 
                $extension = SSUConfig::registry('configs', 'extension');
                if(!empty($extension))
                    $_get['main_page'] = str_replace(".$extension", '', $_get['main_page']);
                }
                $this->rebuildENV($_get, $catalog_dir);
            
            return true;
        }
        
        /*
         * If our current link contains names, we want to make sure the names are correct, 
         * otherwise we do a redirection
         */
        public function postParseURL(){
            if($this->redirect_type==1){
                 $params = '';
                 // here we will attempt to rebuild the link using $_get array, and see if it matches the current link
                 // we want to take out zenid however
                 $page = '';
                 $temp = $_GET;
                 if(isset($temp['main_page'])) {$page = $temp['main_page']; unset($temp['main_page']);}
                
                 foreach($temp as $key => $value)
                    $params .= '&' . $key . '=' . $value;
                
                $regenerated_link = $this->ssu_link($page, $params);
            }
            elseif($this->redirect_type==2){
                $regenerated_link = $this->ssu_link($this->original_uri);
            }

            if(isset($regenerated_link) && strpos($regenerated_link.'?', $_SERVER['REQUEST_URI'].'?') === false){
                $this->redirect($regenerated_link);
            }
            // save alias to avoid re-scanning
            elseif(SSUConfig::registry('configs', 'alias_status') && !$this->checkPageExcludedList($_GET['main_page']))
                SSUCache::write($this->alias_filename, 'aliases', http_build_query($_GET));
        }
        
        // currently we support only 1 type of redirection: 301 permanent redirection
        protected function redirect($link){
            if($link === false) $link = SSUConfig::registry('paths', 'link');
            
            // Set POST form info / alpha testing
            if($_SERVER["REQUEST_METHOD"] == 'POST')
                $_SESSION['ssu_post'] = $_POST;
            
            Header( "HTTP/1.1 301 Moved Permanently" );
            Header( "Location: $link" );
            exit;
        }
        
        /**
         * Enter description here...
         *
         * @param unknown_type $_get
         */
        protected function rebuildENV($_get, $catalog_dir){
            $_GET = $_get;
            $_REQUEST = array_merge($_REQUEST, $_GET);
            // rebuild $PHP_SELF which is used by ZC in several places
            $GLOBALS['PHP_SELF'] = $catalog_dir.'index.php';
            
            // Catch POST form info in case we were redirected here / alpha testing
            if(isset($_SESSION['ssu_post'])){
                $_POST = $_SESSION['ssu_post'];
                $_REQUEST = array_merge($_REQUEST, $_POST);
                unset($_SESSION['ssu_post']);
            }    
        }
        
        /* 
         * Builds the ssu links
         * Takes the same params as zencart zen_href_link function
         */
        public function ssu_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true, $static = false, $use_dir_ws_catalog = true){
            global $request_type, $session_started, $http_domain, $https_domain;
            $link = $sid = '';
            $languages_code = SSUConfig::registry('configs', 'languages_code');

            // if we SSU is off, we return the task to zen's original function.
            if(!SSUConfig::registry('configs', 'status'))
                return false;
                
            // if this is anything other than index.php, dont ssu it
            if(strpos($page, '.php') !== false && strpos($page, 'index.php') === false)
                return false;
            
            if(!empty($parameters) || !empty($page)){
                // this is for the way ZC builds ezpage links. $page is empty and $parameters contains main_page
                // remember. non-static links always have index.php?main_page=
                // so first we check if this is static
                if(strpos($page, 'main_page=') !== false){
                    $parameters = $page;
                }
                
                // remove index.php? if exists
                if(($index_start = strpos($parameters, 'index.php?')) !== false) $parameters = substr($parameters, $index_start+10);

                // put the "page" into $page, and the rest into $parameters
                if((strpos($parameters, 'main_page=')) !== false){
                    parse_str($parameters, $_get);
                    $page = $_get['main_page'];
                    unset($_get['main_page']);
                    $parameters = http_build_query($_get);    
                }
                elseif($static && empty($parameters)){
                    return false;
                }
                
                // if we reach this step with an empty $page, let zen handle the job
                if(empty($page))
                    return false;
                    
                // if this page is our exclude list, let zen handle the job
                if($this->checkPageExcludedList($page)) return false;                
                
                $parameters = $this->parseParams($languages_code, $page, $parameters);
            }
                    
            // Build session id
            if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) {
                if (defined('SID') && zen_not_null(SID)) {
                    $sid = SID;
                } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == 'true') ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) {
                    if ($http_domain != $https_domain) {
                        $sid = zen_session_name() . '=' . zen_session_id();
                    }
                }
            }

            if((substr($parameters, 0, 1) == '?' || empty($parameters)) && $page == 'index')
                $page = '';
                
            // build the http://www.site.com
            if($connection == 'SSL' && ENABLE_SSL == 'true')
                $link = HTTPS_SERVER . ($use_dir_ws_catalog ? DIR_WS_CATALOG : '');
            else 
                $link = HTTP_SERVER . ($use_dir_ws_catalog ? DIR_WS_HTTPS_CATALOG : '');
            
            $link = trim($link, '/');
                        
            $languages_code = SSUConfig::registry('configs', 'multilang_status') ? $languages_code : '';
            
            if(SSUConfig::registry('configs', 'multilang_status'))
                $link .= "/$languages_code";

            if(!empty($page))
                if(empty($parameters)){
                    $extension = SSUConfig::registry('configs', 'extension');
                    $extension = empty($extension) ? $extension : ".$extension";
                    $link .= "/$page$extension";
                }
                else 
                    $link .= "/$page";
            
            if(!empty($parameters))
                $link .= "/$parameters";
            
            $link = str_replace('/?', '?', $link);
            
            // append sid
            if(!empty($sid))
                $link .= (strpos($link , '?') ? '&' : '?').$sid;
                
            return $link;
        }
        
        /* 
         * Takes the parameters in the query string and turns that to our nice looking link
         */
        function parseParams(&$languages_code, &$page, $parameters){
            $parameters = trim($parameters,' ?&');
            $set_cache     = false;
            $query_string = $params = '';
            $main_page = $page;
            $languages_id = SSUConfig::registry('configs', 'languages_id');
            
            if(!empty($parameters)){
                $parsers = SSUConfig::registry('plugins', 'parsers');
                $cache_filename = md5($page.$parameters);
                
                foreach($parsers as $key => $parser){
                    if(call_user_func_array(array("{$parser}Parser", "identifyPage2"), array(&$page, $parameters)) !== false){
                        if(($params = SSUCache::read("{$cache_filename}_{$languages_code}", 'pc')) !== false)
                            return $params;
                        $set_cache = true;
                    }
                    elseif(call_user_func_array(array("{$parser}Parser", "identifyParam"), array($parameters)) !== false){
                        if(($params = SSUCache::read("{$cache_filename}_{$languages_code}", 'pc')) !== false)
                            return $params;
                        $set_cache = true;
                        //unset($parsers[$key]);
                    }
                    else 
                        unset($parsers[$key]);
                }
                
                // process params if we dont use cache or need to reset cache
                // No need for '?'
                $parameters = str_replace('/', '%2F', $parameters);
                $parameters = str_replace(array('&','&','=','?'),'/', $parameters);
        
                // clean up
                $parameters = trim($parameters, '/');
                
                // 
                $parameters = explode('/',$parameters);
                
                // parse language
                if(($pos = array_search('language', $parameters)) !== false){
                    if(isset($parameters[$pos+1]) && ($languages_id = $this->getLanguagesID($parameters[$pos+1])) !== false)
                        $languages_code = $parameters[$pos+1];
                    if(SSUConfig::registry('configs', 'multilang_status')){
                        unset($parameters[$pos]);
                        unset($parameters[$pos+1]);    
                        $parameters = array_values($parameters);
                    }
                }
                
                $params = '';
                
                // exclude certain query keys from being seo-iezed
                for($counter = 0; $counter < count($parameters); $counter++){
                    if($this->checkQueryExcludedList($parameters[$counter])){
                        $query_string .= $parameters[$counter].'='.$parameters[$counter+1].'&';
                        unset($parameters[$counter]);
                        unset($parameters[++$counter]);
                    }
                    else
                        $counter++;
                }
                
                foreach($parsers as $key => $parser)
                    call_user_func_array(array("{$parser}Parser", "parseParam"), array($main_page, &$parameters, $languages_id, $languages_code));
                
                $params = implode('/', $parameters);    
                
                while(strpos($params,'//') !== false) $params = str_replace('//', '/', $params);
            
                if(SSUConfig::registry('configs', 'alias_status')){
                    SSUAlias::linkToAlias($params);
                    
                }
    
            }
            
            if(SSUConfig::registry('configs', 'alias_status') && !empty($page)){
                SSUAlias::linkToAlias($page);
            }
            
            // we cache the whole link so that we dont have to recalculate it again
            if($set_cache) SSUCache::write("{$cache_filename}_{$languages_code}", 'pc', $params); 
            
            $params .= !empty($query_string) ? '?'.trim($query_string,'&') : '';
            return $params;
        }
        
        function checkPageExcludedList($string){
            if(in_array($string, SSUConfig::registry('configs', 'pages_excluded_list')))
                return true;
            return false;
        }
        
        function checkQueryExcludedList($page){
            if(in_array($page, SSUConfig::registry('configs', 'queries_excluded_list')))
                return true;
            return false;
        }
        
        function getLanguagesID($languages_code){
            global $db;
            $languages_query = "select languages_id from " . TABLE_LANGUAGES . " 
                                  WHERE code = '$languages_code' LIMIT 1";

            $languages = $db->Execute($languages_query);
            if($languages->RecordCount() > 0)
                return $languages->fields['languages_id'];
            return false;
        }
    }
8 Dec 2008, 10:48 AM
#1558
teva avatar

teva

Zen Follower

Join Date:
Sep 2004
Posts:
101
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

Ok, tnx

Just one more thing. In our country we use a lot of special characters, like š č ž, which cannot be used in URL. I know that script changes this characters to - (dash). Is it possible to change them into custom characters, like č -> c and š -> s,...?

tnx

8 Dec 2008, 10:50 AM
#1559
yellow1912 avatar

yellow1912

Totally Zenned

Join Date:
Oct 2006
Posts:
5,422
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

teva:

Ok, tnx

Just one more thing. In our country we use a lot of special characters, like š č ž, which cannot be used in URL. I know that script changes this characters to - (dash). Is it possible to change them into custom characters, like č -> c and š -> s,...?

tnx
If you are familiar with php, SSU allows you to fully customize the way you want to display the name for any language:
http://wiki.rubikintegration.com/zencart/modules/ssu/for_developers/parsers/language_parser

Please note the code in the wiki is kinda outdated, you can use the current code in the newest package as your reference.

8 Dec 2008, 8:16 PM
#1560
dsided avatar

dsided

Zen Follower

Join Date:
Jun 2008
Posts:
128
Plugin Contributions:
0

Re: Simple SEO URL (OLD version) [support thread]

I've installed SSU and adjusted my .htacess, however the urls are changing.

This is all I see when I visit admin - > SSU

Instruction
SSU caches your categories/products names and links in order to reduce the number of sql queries and minimize the performance penalty on your server. That has its drawback, however. If you change your categories/products names, you will need to reset the cache to force SSU reload and update the names.

Basic Functions
Reset all cache: Click here
Reset only category cache: Click here
Reset only product cache: Click here
Reset only page cache: Click here
Reset only manufacturer cache: Click here

Should there be anything more?

This is my htaccess:

# RemoveHandler .php
# AddType application/php5-fcgi php
# Action application/php5-fcgi /cgi-bin/php5fcgi.fcgi

AuthUserFile /usr/local/psa/home/vhosts/website.com/subdomains/shop/httpdocs/.htpasswd
AuthName "Members only area"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit> 

#### BOF SSU
Options +FollowSymLinks
RewriteEngine On
# Make sure to change "zencart" to the subfolder you install ZC. If you use root folder, change to: RewriteBase / 
RewriteBase /

# Deny access from .htaccess
RewriteRule ^\.htaccess$ - [F]

RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule .* - [L]

RewriteRule ^(.+) index.php/$1 [E=VAR1:$1,QSA,L]
#### EOF SSU
```Any help greatly appreciated!