Had an email from them yesterday saying it would be released over the weekend, Mapping Manager that is, so they are ahead of schedule :)
Printable View
Yes there is a process, yes the instructions contain the necessary information, though it is not detailed on how to specifically perform en mass. It takes combining understanding of possibly as much as 3 or 4 specific instructions, though there is one specifically that identifies how to remove the current URI Mapping and therefore to revert to the original Zen Cart URI.
Looks like a version 5 thread has been started here for this plugin's software where it looks like it supports Zen Cart 1.5.6x and below.
Hello,
I have installed the ceon uri mapping, done all the checks install and the htaccess etc.
I am now up to actually putting in my own page link titles.
I have done it both on automatic and on me writing in my own.
It shows in my admin that the new website link name has been accepted (shows the new link name in a green banner)
When I go to the link it is the old website link and when I type it in manually my self, it just shows my homepage.
Here is the one that i did as a test incase you need it ... https://craftjam.co.uk/hello (should show my clearence page)
I have checked debug logs and therearent any.
Thank you
Amy
Thank you so much for that! I did originally have it on but I had turned it off and on as I have had the odd issue to clear up from debug logs and bits of code to change! Completely forgot to turn it back on! :hug:
Since you are so good at this, do you know the answer...
I am happy for it to auto generate the names for most of the products, however it doesn't work automatically. I have to go into each product, and then click save for it to register.
Will I have to do this for everything or is there some way to refresh something to get them to just do it?
THank you
Amy
Hi,
THats fine, I will just have to work my way through it all gradually!
Thank youfor your help.
Amy
And I think I have seen some posts around here indicating that ceon.net has an updated version available that goes along with version 5 of this module (separate forum for version 5).
And yes, this public version supports generation while product are updated rather than a "one-for-all".
I am getting a blank page when creating/editing any category or product. debug gives me
--> PHP Warning: Use of undefined constant FILENAME_PRODUCT_MUSIC_INFO - assumed 'FILENAME_PRODUCT_MUSIC_INFO' (this will throw an Error in a future version of PHP) in pathtomystore.com/includes/extra_datafiles/ceon_uri_mapping_product_pages.php on line 26.
I am using php 7.2. Is this the source of my problem?
PHP 7.2 is more strict than its predecessors. This define doesn't show in a plain 1.5.6c install but, a search with Developers Tool Kit looking for a define statement of the constant should find the bad define. Even if it is defined as null (two single quotes 'nothing in between') should keep 7.2 from complaining.
I have created a folder in public_html of an existing live website as a test folder for upgrading to ZC 1.5.6C via the rebuild method , has clean v1.5.6c loaded - when I try to access this folder (to install ZC) I get taken to the website 'page not found' page. I tried this on another website and the same thing happened. I have contacted my host and they say it is the way the internal redirecting is set up.
What is it in CEON that is causing this and how can it be sorted out please.
cheers,
Mike
here is my .htaccess file if of some assistance to the above inquiry
Code:#Force SSL
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www.dazzlerscliponearrings.com.au$ [NC]
RewriteRule ^(.*)$ https://www.dazzlerscliponearrings.com.au/$1 [L,R=301]
###############################################################################
# Add custom headers and options
###############################################################################
# Notes:
#
# Examples: Adding IE compatibility / edge flags, language and encoding flags,
# php or suphp directives, configure other Apache modules such as page_speed,
# and enable or disable Apache httpd options.
#
# Do NOT configure anything directly relating to physical or virtual resources
# in this section. These should be addressed later on in this file.
###############################################################################
#Options -Indexes
###############################################################################
# Enable mod_rewrite processing using the rules in this .htaccess file
###############################################################################
# Notes:
#
# <IfModule> should be avoided at all costs. If mod_rewrite is not available
# it is almost always better to return HTTP 500 status. This way we see there
# is an issue as soon as the .htaccess file is uploaded.
#
# For mod_rewrite to work, the Apache server option to allow symbolic links to
# be followed must be enabled. Most providers supporting mod_rewrite will
# already have it enabled for you, but if your rewrite rules are not working
# you can un-comment the first directive below to manually enable the option.
#
# Don't forget, mod_rewrite directives are processed in order until a matching
# RewriteRule with the [L] flag is encountered. So the more specific a rule is
# the closer it should appear to the top of this file.
###############################################################################
#Options +FollowSymLinks
RewriteEngine on
###############################################################################
# Tell mod_rewrite where this file is relative to the server document_root
###############################################################################
# Notes:
#
# This directive should only be enabled if this .htaccess file is not placed
# in the document_root (usually public_html, www, or web) of the (sub)domain.
#
# An easy way to determine the location relative to the server document_root is
# to look at the URL used to access a file in this folder. For example if you
# access a "page" in the same folder as this file by typing in the URL
# "www.mydomain.com/myfolder/index.html" then "myfolder" will be the location
# of this file relative to the server document_root.
#
# Another quick and easy way to determine the correct setting for this is to
# look at the defined value for DIR_WS_CATALOG and DIR_WS_HTTPS_CATALOG in
# Zen Cart's configure.php files. All three values should match.
#
# Don't forget the leading and trailing /. This directive requires both!
###############################################################################
#RewriteBase /shop/
###############################################################################
# Redirect if request was for index.php (no query)
###############################################################################
# Notes:
#
# This is only required if the site generates references to index.php with no
# parameters. This rule will force a 301 redirect to the site root when a
# request is made for "/index.php" with no query terms (?key=value).
###############################################################################
#RewriteCond %{QUERY_STRING} ^$
#RewriteRule ^index\.php$ / [R=301,L]
###############################################################################
# Add any custom 301 redirects
###############################################################################
# Notes:
#
# In general these should be few and far between. If you use a RewriteRule
# be sure to add the L flag to let Apache mod_rewrite know to stop processing
# and skip any RewriteRules defined later in the .htaccess file.
###############################################################################
###############################################################################
# Redirect if request was for index.php (with or without query)
###############################################################################
# Notes:
#
# This is a performance optimization. If the request is for index.php simply
# pass the request on and do not process any other mod_rewrite directives in
# this file.
#
# Basically this avoids the overhead of checking if index.php is a real file
# or directory (used in subsequent mod_rewrite rules) before sending the
# request to index.php.
###############################################################################
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]
###############################################################################
# Add any other directives relating to the handling of physical files
###############################################################################
# Notes:
#
# If processing makes it this far, the request was for a real file or folder.
# Example: Adding further processing related to browser caching or security.
###############################################################################
<IfModule mod_security.c>
SecFilterScanPOST Off
</IfModule>
###############################################################################
##############################################################################
## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
# Don't rewrite any URIs for some specific file format extensions,
# which are not covered by main file extension condition above
# Uncomment the following line to apply this condition! (Remove the # at the start of the next line)
#RewriteCond %{REQUEST_URI} !\.(3gp|3g2|h261|h263|mj2|mjp2|mp4v|mpg4|m1v|m2v|m4u|f4v|m4v|3dml)$ [NC]
# Don't rewrite admin directory
# Don't rewrite editors directory
# Don't rewrite bmz_cache directory
# Don't rewrite .well-known directory
# Don't rewrite teststore directory
# Don't rewrite cgi-bin directory
# Don't rewrite zc_install_done directory
# Don't rewrite .htpasswds directory
# Don't rewrite blog directory
# Don't rewrite logs directory
# Don't rewrite sitemap directory
# Don't rewrite temp directory
# Handle all other URIs using Zen Cart (its index.php)
RewriteCond %{REQUEST_URI} !\.[a-zA-Z]{2,5}$ [OR]
RewriteCond %{REQUEST_URI} \.(html)$ [NC]
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264)$ [NC]
RewriteCond %{REQUEST_URI} !^/dazzlers [NC]
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
RewriteCond %{REQUEST_URI} !^/bmz_cache/ [NC]
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
RewriteCond %{REQUEST_URI} !^/teststore/ [NC]
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
RewriteCond %{REQUEST_URI} !^/zc_install_done/ [NC]
RewriteCond %{REQUEST_URI} !^/\.htpasswds/ [NC]
RewriteCond %{REQUEST_URI} !^/blog/ [NC]
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
RewriteCond %{REQUEST_URI} !^/sitemap/ [NC]
RewriteCond %{REQUEST_URI} !^/temp/ [NC]
RewriteRule .* index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
###############################################################################
# Add any other directives relating to the handling of physical files
###############################################################################
# Notes:
#
# If processing makes it this far, the request was for a real file or folder.
# Example: Adding further processing related to browser caching or security.
###############################################################################
##################
## Optional caching improvements
## Requires mod_header and mod_deflate to be enabled within Apache
##################
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|webp|js|css|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<IfModule mod_deflate.c>
<FilesMatch "(?i)\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
##################
## Optional improvements
## Requires mod_expires to be enabled within Apache
##################
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING
RewriteCond %{HTTP_HOST} ^dazzlerscliponearrings\.com\.au$ [OR]
RewriteCond %{HTTP_HOST} ^www\.dazzlerscliponearrings\.com\.au$
RewriteRule ^dazzlers\-clip\-on\-earrings\-full\-range$ "https\:\/\/www\.dazzlerscliponearrings\.com\.au\/all\-clip\-on\-earrings\-c\-1" [R=302,L]
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php70” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php70 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
I have managed to access the installer for ZC by adding .php at the end of /zc_install ... also refer to image where after completing the installation process the links to admin and store do not include the suffixes (/login.php and /index.php respectively) so they also resolve to page not found. It is terribly frustrating.
Is there an issue with CEON and configuration and/or .htaccess that does not allow these pages to resolve?
cheers,
Mike
oooops .... forgot to attach the image
Attachment 18711
the ceon module has never liked other domains in subfolders. As you have to traverse the main domains folder (public_html) the .htaccess for the main domain get processed and then it tries to handle the url with the main domain instead of ignoring and sending you to the correct folder. So go into the .htaccess file and look for the section with a bunch of the followingdplicate one of them and change the folder name to match the new folder name your having issues with, that should keep the site above that folder from interferring.Code:# Don't rewrite "SOME_DIRECTORY_NAME" directory
RewriteCond %{REQUEST_URI} !^/some_folder_name/ [NC]
Anything that results in the RewriteRule within the htaccess to be executed will be processed by the referenced rule. While barco57 points at an issue with different domains, it is possible for various domains to be handled in a single htaccess, but it requires some manipulation.
To answer the question of what is "in" Ceon URI that causes this? Actually it is in nothing within the software, but as barco57 it's in the htaccess. For example, if you were now to go into your existing operational site and go to the installation check area, the generated htaccess file (which may still require some editing) would be different than your existing. The difference expected to be the addition of the new directory(ies) that are not listed currently.
Basically if the Web address path is not excluded from that listing, then the database will be searched for the information in the address and processed by the referenced store. There are other rewrite rule methods that can be used to inspect the server files and if the request is back to an existing file (whatever it may be or contain) then the site's code is ignored.
Yeah what he said...
thanks mc123456789 .... a detailed explanation which again confirms the complexity of CEON and the pain it causes for those like me who do not fully understand its quirks, and specifically for my purposes at least as I do not use the finesses that this program offers, I just require url redirection. For others it is apparently the best code ever written.
Hence with the rebuild I am likely to revert to USU - it begs the question, without adding that code to the .htaccess can I expect the same thing to happen when I next want to upgrade a site using the rebuild process as described earlier (rhetorical question) ... fopr the uninitiated the answer would be yes.
Food for thought .... to avoid this situation from repeating in the future, which takes up valuable time and resources on both sides of the forum screen .....
So would it be a pertinent thing to consider modifying the ZC install instructions, or adding a special condition advice, where it covers running zc_install and gives example mydomain/zc_install and mydomain/catalog/zc_install to read mydomain/zc_install.php and mydomain/catalog/zc_install.php so that it will actually run? The instructions state that the ZC program is smart enough to know what to look for, and it is for upgrades or new installs but it appears that where CEON is already installed and the rebuild method is used that CEON overrides ZC .... for the reasons you elaborated on above. Through frustrating trial and error I stumbled upon that 'solution' - even when the install is complete, as per the image above, the urls will not work for someone who has CEON installed. Problematic to say the least :smile:
cheers,
Mike
the attempt(s) resolved to the website page not found page - after a number of attempts I contacted my host and explained the situation and their response was that due to the redirect code in the .htaccess file that the url (complete folder) was not able to be served. That is why I posted in here :smile:
cheers,
Mike
Glad I ran across this post. Trying to upgrade a client who is on 1.54 and has ceon running. Her site has gone wonky and even the upgrade is being made difficult with all kinds of crazy redirects. This may be the issue I have been banging my head trying to figure out. even a test site in a subdirectory is redirecting to the main page of her live site.
Is it possible to use auto generate option to generate URI for product with out including category name e.g.
Instead of www.store.com/books/life-is-good
Looking to get www.store.com/life-is-good
Can be done with the commercial version otherwise would have to find and modify code to specifically address removal at the auto-generation point.
One thing to note though is that if the result of two entries is the same name, that something has to be done to allow accessing each independently.
I just uploaded a bunch of products via Easy Populate for a client, would now like to generate URI's.
Here are the versions being used (old, I know):
ZC 1.5.4
Ceon URI v4.5.0
Way back on Page 195, there was discussion of how to get Ceon URI to auto-generate links on products (Posts #1945 & #1947). I tried DrByte's version first, then bobthemolder's but could not get either to work.
What I did was:
1. Drop the code into an empty php file that I named ceon_URI_generator.php
2. Uploaded the file to the Admin folder.
3. Logged into Admin.
4. Manually loaded the php file: MySite.com/Admin-Folder/ceon_URI_generator.php
For the older code (from post #1945), I received mysql_query warnings:
User accessed denied, link to server not established, etc.
DrByte's code (#1947) seemed to make a connection, but gave me a bunch of goblety gook.
Did I put the code in the wrong place? Or do I need different code to work with my ZC/Ceon versions?
Thanks,
Mike
Just on a technical note, the code from post #1945 seems to use raw mysql commands which I'm guessing are not connected in your case, whereas the usual zen cart 'way' is to use the global $db object, which can be used to fetch resultsets, e.g. instead of:
You would use something like:Code:$categories = mysql_query("SELECT * FROM zen_categories LEFT JOIN zen_categories_description ON zen_categories.categories_id = zen_categories_description.categories_id WHERE zen_categories.categories_status='1'");
echo "<p>Click on a category to update it's products: <br/>";
while ($showthiscat = mysql_fetch_assoc($categories)){
echo "<a href='update-ceon-uri.php?updatecategory={$showthiscat['categories_id']}'>{$showthiscat['categories_name']}</a>, \n";
}
There is some kind of iterator support in recent versions of zencart, which you could use 'foreach' loops with, but for me they always return garbled results that aren't worth trying to work with, it's easier to just use an EOF test and call MoveNext() for me :)Code:// **if you are in a function, include this line** global db;
$categories = $db->Execute("SELECT * FROM zen_categories LEFT JOIN zen_categories_description ON zen_categories.categories_id = zen_categories_description.categories_id WHERE zen_categories.categories_status='1'");
echo "<p>Click on a category to update it's products: <br/>";
while (!$categories->EOF) {
echo "<a href='update-ceon-uri.php?updatecategory={$categories->fields['categories_id']}'>{$categories->fields['categories_name']}</a>, \n";
$categories->MoveNext();
}
So, to use the code from that post and you're running in the context of a zen cart page which has bootstrapped with application_top.php as it started loading, you'll possibly want to refactor it to use the $db object to achieve database connectivity.
Regarding find a way to generate and control the mappings, I don't understand why people do not buy the commercial mod (and get free support) to do this?
Is the value of people's time so low that it is worth spending hours (not) achieving a diy solution?
I did buy the comm mod, first for another site and then later I bought another copy for this site specifically. My first purchased copy was actually beta, prior to the first release. I was going back and forth with Conor, helping him trouble shoot.
But then he passed away. When I updated this site to zc154, I could not update the comm copy of the manager because it simply was not available. And at this point, I don't want to go through the hassles of upgrading. I just want to generate the stupid URI's and call it a day.
Who is selling the comm mod these days and where can I go to buy?
There are no specs, no version info given for the Ceon Mapping Manager at:
https://ceon.net/seo-modules/ceon-uri-mapping-manager
I used the Contact Us button to submit an enquiry on Friday, hoping to confirm that the Manager would work on a legacy site (ZC 154). A few days have passed (it's now Monday) and no response, so I sent another enquiry.
Does anybody know the specs for the commercial mod? Will it work on a ZC154? Will I be able to install it as an "upgrade" to the free Ceon URI mod that is currently installed on my client's site (v4.5.0)?
From the "Essential Info" tab I see the following:
Which seems to indicate that it covers all of the 1.5 series which would include 1.5.4. Further the description when landing at the above link says:Quote:
Essential Info
Here's the essential information about this release.
Title Information
Module Name: Ceon URI Mapping Manager 2.0
Zen Cart Versions: 1.5.x
PHP Versions: 5.3 -7.x
Which sounds like either install version 5 of this module and then do the upgrade to that module or install all of the files associated with that module or if had the older version to do the upgrade of those files...Quote:
Ceon URI Mapping V5 UMM Edition (inluded in Download files) must be installed before (or Ceon URI Mapping free edition upgraded to UMM Edition) Ceon URI Mappings Manager can be installed.
That's at least what I get out of reviewing the website for that product.
better to continue this in the current thread:
https://www.zen-cart.com/showthread....47#post1365347
There is a reason why its called open source and not private source.
My bet is you have an open source android cell phone. hows about you fork over a big wad a cash to google so you can continue to use your android.
I am using this mod successfully but want to know how I can create user friendly urls for pages like contact and testimonials?
Thanks.
Anybody know why I would be getting this
https://venturedesignandprint.co.uk/...cPath=173_181&
Instead of this
https://venturedesignandprint.co.uk/...e-page-website
ok so no problem with SEO then?
I did notice some products have it on and others don't, but didn't think to check if they were the linked ones.
Ok, I installed V.5 every thing is fine in the admin area. Now the store front won't pull up.
This is my .htaccess file:
Code:## BEGIN CEON URI MAPPING REWRITE RULE
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxxx])
RewriteCond %{REQUEST_URI} !\.[a-z]{2,5}$ [NC]
# Don't rewrite any URIs for some, popular specific file format extensions,
# which are not covered by main file extension condition above
RewriteCond %{REQUEST_URI} !\.(mp3|mp4|h264|woff2)$ [NC]
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/Site-Manager [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors/ [NC]
# Don't rewrite cgi-bin directory
RewriteCond %{REQUEST_URI} !^/cgi\-bin/ [NC]
# Don't rewrite zc_plugins directory
RewriteCond %{REQUEST_URI} !^/zc_plugins/ [NC]
# Don't rewrite logs directory
RewriteCond %{REQUEST_URI} !^/logs/ [NC]
# Don't rewrite readme directory
RewriteCond %{REQUEST_URI} !^/readme/ [NC]
# Don't rewrite .well-known directory
RewriteCond %{REQUEST_URI} !^/\.well\-known/ [NC]
# Handle all other URIs using Zen Cart (its index.php)
RewriteRule .* /index.php [QSA,L]
## END CEON URI MAPPING REWRITE RULE
Ok, I need some help. I am using EasyPopulate V4 and I am using Excel to add my products and categories. When I upload the save document then imported it. The link isn't changing for the new products or categories. What is the best and fastest way to fix this without going into product editing to change the link?