-
Re: cPath shows in copied categories
Hello,
I have installed this module and while everything seems to work fine I have seen a couple of errors in my logs as follows:
PHP Fatal error: Call to a member function add() on a non-object in /home/anglersc/public_html/includes/classes/class.CeonURIMappingHandlerBase.php on line 131
and
PHP Fatal error: 1267:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' :: SELECT uri FROM zen_ceon_uri_mappings WHERE main_page = 'account_history_infoℴ_id=577' AND associated_db_id IS NULL AND query_string_parameters IS NULL AND language_id = '1' AND current_uri = '1' LIMIT 1; ==> (as called by) /home/anglersc/public_html/includes/classes/class.CeonURIMappingDBLookup.php on line 166 <== in /home/anglersc/public_html/includes/classes/db/mysql/query_factory.php on line 155
The module appears to work fine and do what is expected of it but these errors had me worried so I have deactivated it for now. I'm not really clued up on PHP sadly so I was just wondering if these errors are harmless or not, can I ignore them? ...if not is there an easy way to sort it or should I just forget about ever using this module?
Thanks in advance :)
-
Re: cPath shows in copied categories
Quote:
Originally Posted by
AnglersCorner
Hello,
I have installed this module and while everything seems to work fine I have seen a couple of errors in my logs as follows:
PHP Fatal error: Call to a member function add() on a non-object in /home/anglersc/public_html/includes/classes/class.CeonURIMappingHandlerBase.php on line 131
and
PHP Fatal error: 1267:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' :: SELECT uri FROM zen_ceon_uri_mappings WHERE main_page = 'account_history_infoℴ_id=577' AND associated_db_id IS NULL AND query_string_parameters IS NULL AND language_id = '1' AND current_uri = '1' LIMIT 1; ==> (as called by) /home/anglersc/public_html/includes/classes/class.CeonURIMappingDBLookup.php on line 166 <== in /home/anglersc/public_html/includes/classes/db/mysql/query_factory.php on line 155
The module appears to work fine and do what is expected of it but these errors had me worried so I have deactivated it for now. I'm not really clued up on PHP sadly so I was just wondering if these errors are harmless or not, can I ignore them? ...if not is there an easy way to sort it or should I just forget about ever using this module?
Thanks in advance :)
Couple of things going on here. For one it looks like your database is not using UTF-8 collation, would suggest following the instructions of the Convert db2utf8 plugin that converts the database to UTF-8, there are also some files through the system that would need changing to recognize/handle the db as UTF8/UTF-8, etc... The next thing is that the rewrite that is being attempted there has scrambled some of the information pushing &order_id into: ℴ_id as part of the main_page. Such a parameter should not be in the main_page but instead in the query_string_parameters field. The first error may be some sort of result of the second, but the error message generated (which btw is generated before the $messageStack has been initialized to actually present that error) indicates that there is server information missing to be able to support mapping URIs. If that issue is not generated each and every time the site is visited, then there may be something intermittent with your host's server(s) and would suggest inquiring to them why the REQUEST_URI server variable is not present or wasn't present at the time of the error. (Provide them log times of that first error.)
Perhaps there is other assistance also suggested, but that is what I see of what has been reported. Assuming that the database conversion and file modifications to support goes successfully, then the only other issue is to address whatever host problem(s) are generated. Perhaps it would help the community if you were to identify with whom you host your site?
-
Re: Ceon URI Mapping v4.x
SHIP STATION ISSUE.
Here is what the developer of Shipstation sent back to me:
I tried to reach you but was only able to leave a voicemail. It appears that you have figured this out. Currently the ZenCart 3rd Party ShipStation Connection and CEON are not compatible. Like you said its one or the other. I wish I had another option for you but because we did not build that integration we do not have control over it.
So, my question is..
is there a fix we can use in the CEON code to make this work?
Please advise!
Thanks!
Cherie
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
CherVickers
SHIP STATION ISSUE.
Here is what the developer of Shipstation sent back to me:
I tried to reach you but was only able to leave a voicemail. It appears that you have figured this out. Currently the ZenCart 3rd Party ShipStation Connection and CEON are not compatible. Like you said its one or the other. I wish I had another option for you but because we did not build that integration we do not have control over it.
So, my question is..
is there a fix we can use in the CEON code to make this work?
Please advise!
Thanks!
Cherie
I haven't looked at the shipstation code, but it seems that 1) it is not totally integrated with ZC, but 2) that if the issue is that it doesn't know how to process the resulting URI, then ether the uri needs to be decoded using applicable functions or an alternate zen_href_link function that doesn't return the rewritten uri might be applicable. Again this is just a guess at what the issue with shipstation is in relation to the rewritten uri.
-
Re: Ceon URI Mapping v4.x
Here is the code I used to add shipstation:
added in this .php file to site: shipstation_zc.php
and I added this code to my .htaccess file:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
here is the detail from the .php file:
<?php
/*
* ShipStation Shipping Module for Zen Cart, Version 1.5
*
* Copyright (c) 2011 Auctane LLC
*
* Find out more about ShipStation at www.shipstation.com
*
* Released under the GNU General Public License v2
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; under version 2 of the License
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
?>
<?php
require('includes/application_top.php');
//set the content type to xml
header('Content-Type: text/xml');
/**
* function to add noode to the xml
*
* @para $FieldName string
* @para $Value string
* @retrurn xml
*/
function AddFieldToXML($FieldName, $Value) {
$FindStr = "&";
$NewStr = "&";
$Result = str_replace($FindStr, $NewStr, $Value);
echo "\t\t<$FieldName>$Result</$FieldName>\n";
}
/**
* function to authenticate username and password sent from the shipstation
*
* @para $db object
* @retrurn boolean
*/
function userAuthentication($db = null) {
$un = $_GET['SS-UserName'];
$pw = $_GET['SS-Password'];
if (!isset($un) || strlen($un) == 0) {
header('WWW-Authenticate: Basic realm="ShipStation"');
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized';
exit;
} else {
$admin_query = "SELECT admin_id, admin_pass FROM " . TABLE_ADMIN . " WHERE admin_name = '" . $un . "'";
$admin_result = $db->Execute($admin_query);
//validate the password with the zencart encrypted password
if (!zen_validate_password($pw, $admin_result->fields['admin_pass'])) {
header('WWW-Authenticate: Basic realm="ShipStation"');
header('HTTP/1.0 401 Unauthorized');
echo 'Unauthorized';
exit;
}
}
}
/**
* function to convert the start and end date with zend date format
*
* @para $date date
* @para $reverse boolean
* @retrurn date
*/
function zen_date_raw2($date, $reverse = false) {
if ($reverse) {
return substr($date, 3, 2) . substr($date, 0, 2) . substr($date, 6, 4);
} else {
return substr($date, 6, 4) . '-' . substr($date, 0, 2) . '-' . substr($date, 3, 2) . ' ' . substr($date, 11, 2) . '.' . substr($date, 14, 2) . '.' . '00';
}
}
/**
* function to convert the ordr end date with date time format
*
* @para $raw_datetime date
* @retrurn date
*/
function zen_datetime_short2($raw_datetime) {
if (($raw_datetime == '0001-01-01 00:00:00') || ($raw_datetime == ''))
return false;
$year = (int) substr($raw_datetime, 0, 4);
$month = (int) substr($raw_datetime, 5, 2);
$day = (int) substr($raw_datetime, 8, 2);
$hour = (int) substr($raw_datetime, 11, 2);
$minute = (int) substr($raw_datetime, 14, 2);
$second = (int) substr($raw_datetime, 17, 2);
return strftime(DATE_TIME_FORMAT, mktime($hour, $minute, $second, $month, $day, $year));
}
// SSZen.php?action=export&start_date=06/02/2009%2005:30&end_date=11/05/2009%2022:53
if ($_GET['action'] == 'export') {
//call the user authentication before start of order data replication
userAuthentication($db);
$sd = zen_date_raw2((!isset($_GET['start_date']) ? date("m-d-Y", (time())) : $_GET['start_date']));
$ed = zen_date_raw2((!isset($_GET['end_date']) ? date("m-d-Y", (time())) : $_GET['end_date']));
//get order from database
$orders_query = "SELECT * FROM " . TABLE_ORDERS . " WHERE orders_id >'0' and IFNULL(last_modified, date_purchased) BETWEEN '" . $sd . "' AND DATE_ADD('" . $ed . "', INTERVAL 1 MINUTE)";
$orders_result = $db->Execute($orders_query);
if ($orders_result->fields['orders_id']) {
//begin outputing XML
echo "<?xml version=\"1.0\" encoding=\"utf-16\"?>\n";
echo "<Orders>\n";
//process orders
while (!$orders_result->EOF) {
//get order items from datbase
$orderitems_query = "SELECT * FROM " . TABLE_ORDERS_PRODUCTS . " WHERE orders_id = '" . $orders_result->fields['orders_id'] . "'";
$orderitems_result = $db->Execute($orderitems_query);
$cust_id = $orders_result->fields['customers_id'];
$cust_deff_id = $orders_result->fields['customers_default_address_id'];
$address_query = "SELECT * FROM " . TABLE_ADDRESS_BOOK . " WHERE customers_id = '$cust_id' and address_book_id = '$cust_deff_id'";
$address_result = $db->Execute($address_query);
//billing country code
$billing_country_id = $orders_result->fields['billing_country'];
$billing_query = "SELECT * FROM " . TABLE_COUNTRIES . " WHERE countries_name = '$billing_country_id'";
$billing_result = $db->Execute($billing_query);
//billing country code
//shipping country code
$shipping_country_id = $orders_result->fields['delivery_country'];
$shipping_query = "SELECT * FROM " . TABLE_COUNTRIES . " WHERE countries_name = '$shipping_country_id'";
$shipping_result = $db->Execute($shipping_query);
//billing zone code
$billing_zone_id = addslashes($orders_result->fields['billing_state']);
$zone_billing_query = "SELECT * FROM " . TABLE_ZONES . " WHERE zone_name = '$billing_zone_id'";
$zone_billing_result = $db->Execute($zone_billing_query);
//billing zone code
//shipping zone code
$shipping_zone_id = addslashes($orders_result->fields['delivery_state']);
$zone_shipping_query = "SELECT * FROM " . TABLE_ZONES . " WHERE zone_name = '$shipping_zone_id'";
$zone_shipping_result = $db->Execute($zone_shipping_query);
//shipping zone code
$ship_order_id = $orders_result->fields['orders_id'];
$ship_query = "SELECT * FROM " . TABLE_ORDERS_TOTAL . " WHERE orders_id = '$ship_order_id' and class = 'ot_shipping'";
$ship_result = $db->Execute($ship_query);
$orders_status = $db->Execute("select orders_status_id, orders_status_name
from " . TABLE_ORDERS_STATUS . "
where language_id = '" . (int) $_SESSION['languages_id'] . "' and orders_status_id = '" . $orders_result->fields['orders_status'] . "'");
if ($orders_status->fields['orders_status_name']) {
$order_status = $orders_status->fields['orders_status_name'];
$order_status_id = $orders_status->fields['orders_status_id'];
} else {
$order_status = '';
$order_status_id = '';
}
if ($order_status_id) {
$orders_history = $db->Execute("select date_added
from " . TABLE_ORDERS_STATUS_HISTORY . "
where orders_id = '" . zen_db_input($orders_result->fields['orders_id']) . "' and orders_status_id = '" . $order_status_id . "'
order by date_added LIMIT 1");
$last_modified = zen_datetime_short2($orders_history->fields['date_added']);
$orders_history_comments = $db->Execute("select comments
from " . TABLE_ORDERS_STATUS_HISTORY . "
where orders_id = '" . zen_db_input($orders_result->fields['orders_id']) . "' and (comments is not null or comments != '')
order by date_added LIMIT 1");
$shipping_comments = $orders_history_comments->fields['comments'];
} else {
$last_modified = '';
$shipping_comments = '';
}
echo "\t<Order>\n";
//order details
AddFieldToXML("OrderNumber", $orders_result->fields['orders_id']);
AddFieldToXML("OrderDate", zen_datetime_short2($orders_result->fields['date_purchased']));
AddFieldToXML("OrderStatusCode", $order_status_id);
AddFieldToXML("OrderStatusName", $order_status);
AddFieldToXML("LastModified", $last_modified);
AddFieldToXML("LastModifiedOrderTable", $orders_result->fields['last_modified']);
AddFieldToXML("date_purchased", $orders_result->fields['date_purchased']);
AddFieldToXML("PaymentMethod", '<![CDATA[' . $orders_result->fields['payment_method'] . ']]>');
AddFieldToXML("PaymentMethodCode", $orders_result->fields['payment_module_code']);
AddFieldToXML("ShippingMethod", '<![CDATA[' . $orders_result->fields['shipping_method'] . ']]>');
//AddFieldToXML("ShippingMethodCode", $orders_result->fields['shipping_module_code']);
AddFieldToXML("ShippingMethodCode", '<![CDATA[' . $orders_result->fields['shipping_method'] . ']]>');
AddFieldToXML("CouponCode", $orders_result->fields['coupon_code']);
AddFieldToXML("Currency", $orders_result->fields['currency']);
AddFieldToXML("CurrencyValue", $orders_result->fields['currency_value']);
AddFieldToXML("OrderTotal", $orders_result->fields['order_total']);
AddFieldToXML("TaxAmount", $orders_result->fields['order_tax']);
AddFieldToXML("ShippingAmount", $ship_result->fields['value']);
AddFieldToXML("CommentsFromBuyer", '<![CDATA[' . $shipping_comments . ']]>');
//order details
//customer details
echo "\t<Customer>\n";
AddFieldToXML("CustomerNumber", $orders_result->fields['customers_id']);
//billing details
echo "\t<BillTo>\n";
$billing_state = $orders_result->fields['billing_state'];
AddFieldToXML("Name", '<![CDATA[' . $orders_result->fields['billing_name'] . ']]>');
AddFieldToXML("Company", '<![CDATA[' . $orders_result->fields['billing_company'] . ']]>');
AddFieldToXML("Address1", '<![CDATA[' . $orders_result->fields['billing_street_address'] . ']]>');
AddFieldToXML("Address2", '<![CDATA[' . $orders_result->fields['billing_suburb'] . ']]>');
AddFieldToXML("City", '<![CDATA[' . $orders_result->fields['billing_city'] . ']]>');
AddFieldToXML("State", '<![CDATA[' . $billing_state . ']]>');
AddFieldToXML("StateCode", $zone_billing_result->fields['zone_code']);
AddFieldToXML("PostalCode", $orders_result->fields['billing_postcode']);
AddFieldToXML("Country", $orders_result->fields['billing_country']);
AddFieldToXML("CountryCode", $billing_result->fields['countries_iso_code_2']);
AddFieldToXML("Phone", $orders_result->fields['customers_telephone']);
AddFieldToXML("Email", $orders_result->fields['customers_email_address']);
// AddFieldToXML("CountryCode", $country_result->fields['countries_iso_code_2']);
echo "\t</BillTo>\n";
//billing details
//shipping details
echo "\t<ShipTo>\n";
$shipping_state = $orders_result->fields['delivery_state'];
AddFieldToXML("Name", '<![CDATA[' . $orders_result->fields['delivery_name'] . ']]>');
AddFieldToXML("Company", '<![CDATA[' . $orders_result->fields['delivery_company'] . ']]>');
AddFieldToXML("Address1", '<![CDATA[' . $orders_result->fields['delivery_street_address'] . ']]>');
AddFieldToXML("Address2", '<![CDATA[' . $orders_result->fields['delivery_suburb'] . ']]>');
AddFieldToXML("City", '<![CDATA[' . $orders_result->fields['delivery_city'] . ']]>');
AddFieldToXML("State", '<![CDATA[' . $shipping_state . ']]>');
AddFieldToXML("StateCode", $zone_shipping_result->fields['zone_code']);
AddFieldToXML("PostalCode", $orders_result->fields['delivery_postcode']);
AddFieldToXML("Country", $orders_result->fields['delivery_country']);
AddFieldToXML("CountryCode", $shipping_result->fields['countries_iso_code_2']);
echo "\t</ShipTo>\n";
//shipping details
echo "\t</Customer>\n";
//customer details
echo "\t<Items>\n";
//process Order Items
while (!$orderitems_result->EOF) {
$image_query = "SELECT products_image, products_weight FROM " . TABLE_PRODUCTS . " WHERE products_id = '" . $orderitems_result->fields['products_id'] . "'";
$image_result = $db->Execute($image_query);
echo "\t<Item>\n";
AddFieldToXML("ProductID", $orderitems_result->fields['products_id']);
AddFieldToXML("SKU", '<![CDATA[' . $orderitems_result->fields['products_model'] . ']]>');
AddFieldToXML("Name", '<![CDATA[' . $orderitems_result->fields['products_name'] . ']]>');
AddFieldToXML("ImageUrl", HTTP_SERVER . DIR_WS_CATALOG . DIR_WS_IMAGES . $image_result->fields['products_image']);
AddFieldToXML("Weight", $image_result->fields['products_weight']);
AddFieldToXML("UnitPrice", round($orderitems_result->fields['final_price'], 2));
AddFieldToXML("TaxAmount", round($orderitems_result->fields['products_tax'], 2));
AddFieldToXML("Quantity", $orderitems_result->fields['products_quantity']);
$orderitems_attributes_query = "SELECT orders_products_attributes_id, products_options, products_options_values FROM " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " WHERE orders_id = '" . $orders_result->fields['orders_id'] . "' and orders_products_id = '" . $orderitems_result->fields['orders_products_id'] . "'";
$orderitems_attributes_result = $db->Execute($orderitems_attributes_query);
if ($orderitems_attributes_result->fields['orders_products_attributes_id']) {
echo "\t<Options>\n";
}
while (!$orderitems_attributes_result->EOF) {
echo "\t<Option><Name><![CDATA[" . $orderitems_attributes_result->fields['products_options'] . "]]></Name><Value><![CDATA[" . $orderitems_attributes_result->fields['products_options_values'] . "]]></Value></Option>\n";
$orderitems_attributes_result->MoveNext();
}
if ($orderitems_attributes_result->fields['orders_products_attributes_id']) {
echo "\t</Options>\n";
}
echo "\t</Item>\n";
$orderitems_result->MoveNext();
}
//process Order Items
echo "\t</Items>\n";
echo "\t</Order>\n";
$orders_result->MoveNext();
}
//process Orders
//finish outputing XML
echo "</Orders>";
} else {
echo "<?xml version=\"1.0\" encoding=\"utf-16\"?>\n";
echo "<Orders />\n";
}
} elseif ($_GET['action'] == 'verifystatus') {
echo 'true';
} elseif ($_GET['action'] == 'update') {
//?action=update&order_number=ABC123&status=4&comment=commment
userAuthentication($db);
if ($_GET['order_number']) {
$status = strtolower($_GET['status']);
$customer_notified = '0';
$comments = $_GET['comment'];
$record_query = "SELECT orders_id FROM " . TABLE_ORDERS . " WHERE orders_id = '" . $_GET['order_number'] . "'";
$record_result = $db->Execute($record_query);
if ($record_result->fields['orders_id']) {
$orders_status = $db->Execute("select orders_status_id, orders_status_name
from " . TABLE_ORDERS_STATUS . "
where language_id = '" . (int) $_SESSION['languages_id'] . "' and LOWER(orders_status_name) = '" . $status . "'");
if ($orders_status->fields['orders_status_id']) {
$status = $orders_status->fields['orders_status_id'];
$db->Execute("update " . TABLE_ORDERS . "
set orders_status = '" . zen_db_input($status) . "', last_modified = now()
where orders_id = '" . (int) $_GET['order_number'] . "'");
$db->Execute("insert into " . TABLE_ORDERS_STATUS_HISTORY . "
(orders_id, orders_status_id, date_added, customer_notified, comments)
values ('" . (int) $_GET['order_number'] . "',
'" . zen_db_input($status) . "',
now(),
'" . zen_db_input($customer_notified) . "',
'" . zen_db_input($comments) . "')");
echo 'Status updated successfully';
} else {
echo 'No order status in database';
}
} else {
echo 'Order does not exist in database';
}
} else {
echo 'No order number';
}
} else {
echo 'No action parameter. Please contact software provider.';
}
?>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mc12345678
I haven't looked at the shipstation code, but it seems that 1) it is not totally integrated with ZC, but 2) that if the issue is that it doesn't know how to process the resulting URI, then ether the uri needs to be decoded using applicable functions or an alternate zen_href_link function that doesn't return the rewritten uri might be applicable. Again this is just a guess at what the issue with shipstation is in relation to the rewritten uri.
Please see the last post I made with the added code. Is there a place in CEON where I can override the above as you suggest?
I am not a developer, so any specifics would be helpful!
thanks!
c
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
CherVickers
Please see the last post I made with the added code. Is there a place in CEON where I can override the above as you suggest?
I am not a developer, so any specifics would be helpful!
thanks!
c
See/saw it, but in the future, please enclose the code within code tags '[' CODE ']' (remove the spaces and single apostrophes. I still haven't figured out how to type that in this editor so that it will remain intact, but maybe one day. :) ) This can be automated by clicking the # symbol in the toolbar above the message box and then pasting the code...
A few things I see so far:
One, where is the addition of the .htaccess code in relation to the CEON .htaccess code?
Two, a filename "shipstation_zc.php" was provided and the added rewrite directs to app.php, then there is "the code of the .php". How do these three pieces fit together?
Three, this method of access is rife with potential security issues... transferring username and password in a GET statement??? Wow... No validation on the GET data sent? Another Wow...
Four, what is actually called to "activate" shipstation? Is there some sort of specific filename called, or is it "always active"?
Five, can we take this to a new thread as it looks like the discussion may be lengthy. Suggest starting a new thread perhaps in the general section, returning here to post the link for those interested, continue the discussion there (including answering the above questions), then we can post a solution here for those interested in the end result... Just an idea that perhaps others may appreciate as well. :) To me it looks like initial integration of the program with ZC is the issue (.htaccess rule), but need to work through that to provide a suitable method of having both because so far I don't see any issue with "the code of the .php" per se.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mc12345678
See/saw it, but in the future, please enclose the code within code tags '[' CODE ']' (remove the spaces and single apostrophes. I still haven't figured out how to type that in this editor so that it will remain intact, but maybe one day. :) ) This can be automated by clicking the # symbol in the toolbar above the message box and then pasting the code...
A few things I see so far:
One, where is the addition of the .htaccess code in relation to the CEON .htaccess code?
Two, a filename "shipstation_zc.php" was provided and the added rewrite directs to app.php, then there is "the code of the .php". How do these three pieces fit together?
Three, this method of access is rife with potential security issues... transferring username and password in a GET statement??? Wow... No validation on the GET data sent? Another Wow...
Four, what is actually called to "activate" shipstation? Is there some sort of specific filename called, or is it "always active"?
Five, can we take this to a new thread as it looks like the discussion may be lengthy. Suggest starting a new thread perhaps in the general section, returning here to post the link for those interested, continue the discussion there (including answering the above questions), then we can post a solution here for those interested in the end result... Just an idea that perhaps others may appreciate as well. :) To me it looks like initial integration of the program with ZC is the issue (.htaccess rule), but need to work through that to provide a suitable method of having both because so far I don't see any issue with "the code of the .php" per se.
Yes, I've continued the discussion here:
https://www.zen-cart.com/showthread....74#post1288674
I will get with my developer to see how to best respond to your questions! THANK YOU!
-
Re: Ceon URI Mapping v4.x
I'll save everyone some time and get to the point.
Just installed CEON and started with the generated rewrite code from the CEON install, while it does convert the url the page doesn't come up it just has an 404 error.
If I turn off Ceon the page works fine but no url rewrite.
I noticed in the url listed in the error that the root directory of the server is showing up twice with page not found. I have the htaccess in the root directory of the server and there isn't anything in the htaccess that I can see to where its being added so that I can remove it, maybe I have the htaccess in the wrong directory.
site is http://www.atvpartspro.com/ and there is only one product, handlebars.
Any help would be appreciated.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
racingtech
I'll save everyone some time and get to the point.
Just installed CEON and started with the generated rewrite code from the CEON install, while it does convert the url the page doesn't come up it just has an 404 error.
If I turn off Ceon the page works fine but no url rewrite.
I noticed in the url listed in the error that the root directory of the server is showing up twice with page not found. I have the htaccess in the root directory of the server and there isn't anything in the htaccess that I can see to where its being added so that I can remove it, maybe I have the htaccess in the wrong directory.
site is
http://www.atvpartspro.com/ and there is only one product, handlebars.
Any help would be appreciated.
Never mind, moved the generated code to the server root and it works fine now. Sorry
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
DivaVocals
It does and I will undo the two changes I made that are not needed..
On another note.. I need to send you an an e-mail under separate cover with regards to questions I have regarding the mapping manager and "other" pages..
Hello,
I added a new product type, namely bookx, and modified the file includes/extra_datafiles/ceon_uri_mapping_product_pages.php as follows:
$ceon_uri_mapping_product_pages = array(
FILENAME_DOCUMENT_GENERAL_INFO,
FILENAME_DOCUMENT_PRODUCT_INFO,
FILENAME_PRODUCT_INFO,
FILENAME_PRODUCT_BOOK_INFO,
FILENAME_PRODUCT_FREE_SHIPPING_INFO,
FILENAME_PRODUCT_MUSIC_INFO,
FILENAME_PRODUCT_BOOKX_INFO
);
But it is not working.
The plugin works in every other respect.
My setup is zencart version 1.54, Ceon URI Mapping version 4.5.0
Please help
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
fjbern1943
Hello,
I added a new product type, namely bookx, and modified the file includes/extra_datafiles/ceon_uri_mapping_product_pages.php as follows:
$ceon_uri_mapping_product_pages = array(
FILENAME_DOCUMENT_GENERAL_INFO,
FILENAME_DOCUMENT_PRODUCT_INFO,
FILENAME_PRODUCT_INFO,
FILENAME_PRODUCT_BOOK_INFO,
FILENAME_PRODUCT_FREE_SHIPPING_INFO,
FILENAME_PRODUCT_MUSIC_INFO,
FILENAME_PRODUCT_BOOKX_INFO
);
But it is not working.
The plugin works in every other respect.
My setup is zencart version 1.54, Ceon URI Mapping version 4.5.0
Please help
What is the defined value for FILENAME_PRODUCT_BOOKX_INFO?
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mc12345678
What is the defined value for FILENAME_PRODUCT_BOOKX_INFO?
I really don't know what you mean by "What is the defined value:
Here is the file:
<?php
/**
* This file is part of the ZenCart add-on Book X which
* introduces a new product type for books to the Zen Cart
* shop system. Tested for compatibility on ZC v. 1.5
*
* For latest version and support visit:
* https://sourceforge.net/p/zencartbookx
*
* @package languageDefines
* @author Philou
* @copyright Copyright 2013
* @copyright Portions Copyright 2003-2011 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.gnu.org/licenses/gpl.txt GNU General Public License V2.0
*
* @version BookX V 0.9.4-revision6 BETA
* @version $Id: [ZC INSTALLATION]/includes/languages/english/product_bookx_info.php 2015-08-243 philou $
*/
define('TEXT_PRODUCT_NOT_FOUND', 'Sorry, the product was not found');
define('TEXT_CURRENT_REVIEWS', 'Current Reviews:');
define('TEXT_MORE_INFORMATION', 'For more information, please visit this product\'s <a href="%s" target="_blank">webpage</a>.');
define('TEXT_DATE_ADDED', 'This book was added to our catalog on %s.');
define('TEXT_DATE_AVAILABLE', 'This product will be in stock on %s.');
define('TEXT_ALSO_PURCHASED_PRODUCTS', 'Customers who bought this book also purchased...');
define('TEXT_PRODUCT_OPTIONS', 'Please Choose:');
define('TEXT_PRODUCT_WEIGHT', 'Shipping Weight: ');
define('TEXT_PRODUCT_QUANTITY', ' Units in Stock');
define('TEXT_PRODUCT_MODEL', 'Model: ');
define('TEXT_PRODUCT_ISBN', 'ISBN: ');
define('TEXT_PRODUCT_COLLECTIONS', 'Media Collection: ');
// boox specific data
define('LABEL_PUBLISHER', 'Publisher: ');
define('LABEL_PUBLISHER_DESCRIPTION', 'About the publisher: ');
define('TEXT_PUBLISHER_URL', 'For more information, please visit the publisher\'s <a href="%s" target="_blank">webpage</a>.');
define('LABEL_IMPRINT', 'Sublabel / Imprint: ');
define('LABEL_IMPRINT_DESCRIPTION', 'About the sublabel / imprint: ');
define('LABEL_SERIES', 'Series: ');
define('LABEL_SERIES_DESCRIPTION', 'About the series: ');
define('LABEL_AUTHORS', 'Authors:');
define('LABEL_AUTHOR', 'Author:');
define('LABEL_AUTHOR_DESCRIPTION', 'About %s: ');
define('TEXT_AUTHOR_URL', 'For more information, please visit the author\'s <a href="%s" target="_blank">webpage</a>.');
define('HEADING_AUTHOR_RELATED_PRODUCTS', 'Other books by <span class="author">%s</span>:');
define('TEXT_AUTHOR_TEAM_AND', 'and');
define('BOOKX_PRODUCT_STATUS_IN_STOCK', '');
define('BOOKX_PRODUCT_STATUS_OUT_OF_PRINT', '(out of print)');
define('BOOKX_PRODUCT_STATUS_UPCOMING_PRODUCT', '(soon to be released)');
define('BOOKX_PRODUCT_STATUS_NEW_PRODUCT', 'New!');
// previous next product
define('PREV_NEXT_PRODUCT', 'Book ');
define('PREV_NEXT_FROM', ' of ');
define('IMAGE_BUTTON_PREVIOUS','previous book');
define('IMAGE_BUTTON_NEXT','next book');
define('IMAGE_BUTTON_RETURN_TO_PRODUCT_LIST','Back to Book list');
// missing products
//define('TABLE_HEADING_NEW_PRODUCTS', 'New Products For %s');
//define('TABLE_HEADING_UPCOMING_PRODUCTS', 'Upcoming Products');
//define('TABLE_HEADING_DATE_EXPECTED', 'Date Expected');
define('TEXT_ATTRIBUTES_PRICE_WAS',' [was: ');
define('TEXT_ATTRIBUTE_IS_FREE',' now is: Free]');
define('TEXT_ONETIME_CHARGE_SYMBOL', ' *');
define('TEXT_ONETIME_CHARGE_DESCRIPTION', ' One time charges may apply');
define('TEXT_ATTRIBUTES_QTY_PRICE_HELP_LINK','Quantity Discounts Available');
define('ATTRIBUTES_QTY_PRICE_SYMBOL', zen_image(DIR_WS_TEMPLATE_ICONS . 'icon_status_green.gif', TEXT_ATTRIBUTES_QTY_PRICE_HELP_LINK, 10, 10) . ' ');
define('ATTRIBUTES_PRICE_DELIMITER_PREFIX', ' ( ' );
define('ATTRIBUTES_PRICE_DELIMITER_SUFFIX', ' )' );
define('ATTRIBUTES_WEIGHT_DELIMITER_PREFIX', ' (' );
define('ATTRIBUTES_WEIGHT_DELIMITER_SUFFIX', ') ' );
Thanks,
Frank
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
fjbern1943
I really don't know what you mean by "What is the defined value:
Here is the file:
Code:
<?php
/**
* This file is part of the ZenCart add-on Book X which
* introduces a new product type for books to the Zen Cart
* shop system. Tested for compatibility on ZC v. 1.5
*
* For latest version and support visit:
* https://sourceforge.net/p/zencartbookx
*
* @package languageDefines
* @author Philou
* @copyright Copyright 2013
* @copyright Portions Copyright 2003-2011 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.gnu.org/licenses/gpl.txt GNU General Public License V2.0
*
* @version BookX V 0.9.4-revision6 BETA
* @version $Id: [ZC INSTALLATION]/includes/languages/english/product_bookx_info.php 2015-08-243 philou $
*/
define('TEXT_PRODUCT_NOT_FOUND', 'Sorry, the product was not found');
define('TEXT_CURRENT_REVIEWS', 'Current Reviews:');
define('TEXT_MORE_INFORMATION', 'For more information, please visit this product\'s <a href="%s" target="_blank">webpage</a>.');
define('TEXT_DATE_ADDED', 'This book was added to our catalog on %s.');
define('TEXT_DATE_AVAILABLE', 'This product will be in stock on %s.');
define('TEXT_ALSO_PURCHASED_PRODUCTS', 'Customers who bought this book also purchased...');
define('TEXT_PRODUCT_OPTIONS', 'Please Choose:');
define('TEXT_PRODUCT_WEIGHT', 'Shipping Weight: ');
define('TEXT_PRODUCT_QUANTITY', ' Units in Stock');
define('TEXT_PRODUCT_MODEL', 'Model: ');
define('TEXT_PRODUCT_ISBN', 'ISBN: ');
define('TEXT_PRODUCT_COLLECTIONS', 'Media Collection: ');
// boox specific data
define('LABEL_PUBLISHER', 'Publisher: ');
define('LABEL_PUBLISHER_DESCRIPTION', 'About the publisher: ');
define('TEXT_PUBLISHER_URL', 'For more information, please visit the publisher\'s <a href="%s" target="_blank">webpage</a>.');
define('LABEL_IMPRINT', 'Sublabel / Imprint: ');
define('LABEL_IMPRINT_DESCRIPTION', 'About the sublabel / imprint: ');
define('LABEL_SERIES', 'Series: ');
define('LABEL_SERIES_DESCRIPTION', 'About the series: ');
define('LABEL_AUTHORS', 'Authors:');
define('LABEL_AUTHOR', 'Author:');
define('LABEL_AUTHOR_DESCRIPTION', 'About %s: ');
define('TEXT_AUTHOR_URL', 'For more information, please visit the author\'s <a href="%s" target="_blank">webpage</a>.');
define('HEADING_AUTHOR_RELATED_PRODUCTS', 'Other books by <span class="author">%s</span>:');
define('TEXT_AUTHOR_TEAM_AND', 'and');
define('BOOKX_PRODUCT_STATUS_IN_STOCK', '');
define('BOOKX_PRODUCT_STATUS_OUT_OF_PRINT', '(out of print)');
define('BOOKX_PRODUCT_STATUS_UPCOMING_PRODUCT', '(soon to be released)');
define('BOOKX_PRODUCT_STATUS_NEW_PRODUCT', 'New!');
// previous next product
define('PREV_NEXT_PRODUCT', 'Book ');
define('PREV_NEXT_FROM', ' of ');
define('IMAGE_BUTTON_PREVIOUS','previous book');
define('IMAGE_BUTTON_NEXT','next book');
define('IMAGE_BUTTON_RETURN_TO_PRODUCT_LIST','Back to Book list');
// missing products
//define('TABLE_HEADING_NEW_PRODUCTS', 'New Products For %s');
//define('TABLE_HEADING_UPCOMING_PRODUCTS', 'Upcoming Products');
//define('TABLE_HEADING_DATE_EXPECTED', 'Date Expected');
define('TEXT_ATTRIBUTES_PRICE_WAS',' [was: ');
define('TEXT_ATTRIBUTE_IS_FREE',' now is: Free]');
define('TEXT_ONETIME_CHARGE_SYMBOL', ' *');
define('TEXT_ONETIME_CHARGE_DESCRIPTION', ' One time charges may apply');
define('TEXT_ATTRIBUTES_QTY_PRICE_HELP_LINK','Quantity Discounts Available');
define('ATTRIBUTES_QTY_PRICE_SYMBOL', zen_image(DIR_WS_TEMPLATE_ICONS . 'icon_status_green.gif', TEXT_ATTRIBUTES_QTY_PRICE_HELP_LINK, 10, 10) . ' ');
define('ATTRIBUTES_PRICE_DELIMITER_PREFIX', ' ( ' );
define('ATTRIBUTES_PRICE_DELIMITER_SUFFIX', ' )' );
define('ATTRIBUTES_WEIGHT_DELIMITER_PREFIX', ' (' );
define('ATTRIBUTES_WEIGHT_DELIMITER_SUFFIX', ') ' );
Thanks,
Frank
Well, somewhere in the load path, need to also provide something like the below in order for CEON to properly process/handle the new product type:
Code:
define('FILENAME_PRODUCT_BOOKX_INFO', 'product_bookx_info');
the right side (value) is to be what you see to the right of main_page= in the uri when looking at the ZC standard uri. The definition should be in a file located in includes/extra_datafiles similar to those listed in ceon_uri_mapping_filenames.php located in the same folder.
-
Re: Ceon URI Mapping v4.x
Thanks for the reply. I decided to not use the bookx product type. Just too much trouble versus the benefits. If I was actually running a book store and not just adding a handful of books I would invest the time to try get the CEON URI mod to work with this new product type.
Thanks again,
Frank
P.S. Can you PM me on any progress with the other CEON/EASYPOPULATE MOD, you have been working on for me.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
fjbern1943
Thanks for the reply. I decided to not use the bookx product type. Just too much trouble versus the benefits. If I was actually running a book store and not just adding a handful of books I would invest the time to try get the CEON URI mod to work with this new product type.
Thanks again,
Frank
P.S. Can you PM me on any progress with the other CEON/EASYPOPULATE MOD, you have been working on for me.
I would have to guess that the "trouble" has nothing to do with CEON as there was only one remaining step to be performed in order to have CEON work with that product type. Namely and in a consolidated post the following is a way that could have been taken for CEON to support the additional product type assuming that when viewing the bookx product detail the URI contains: main_page=product_bookx_info
modify includes/extra_datafiles/ceon_uri_mapping_product_pages.php to add FILENAME_PRODUCT_BOOKX_INFO as highlighted below (and identified previously as complete):
Code:
$ceon_uri_mapping_product_pages = array(
FILENAME_DOCUMENT_GENERAL_INFO,
FILENAME_DOCUMENT_PRODUCT_INFO,
FILENAME_PRODUCT_INFO,
FILENAME_PRODUCT_BOOK_INFO,
FILENAME_PRODUCT_FREE_SHIPPING_INFO,
FILENAME_PRODUCT_MUSIC_INFO,
FILENAME_PRODUCT_BOOKX_INFO
);
modify includes/extra_datafiles/ceon_uri_mapping_filenames.php (could be added/edited in another file but this one will do generally speaking... By modifying this file then when the rewriting software is updated in the future this change must be carried through, by placing in a separate file the modification remains in place through upgrades of the rewriter)
add (again assuming that when viewing the bookx product page that main_page=product_bookx_info):
Code:
/**
* Product type info pages which are missing their defines.
*/
define('FILENAME_DOCUMENT_GENERAL_INFO', 'document_general_info');
define('FILENAME_DOCUMENT_PRODUCT_INFO', 'document_product_info');
define('FILENAME_EZPAGES_POPUP', 'ezpages_popup');
define('FILENAME_PRODUCT_BOOK_INFO', 'product_book_info');
define('FILENAME_PRODUCT_FREE_SHIPPING_INFO', 'product_free_shipping_info');
define('FILENAME_PRODUCT_MUSIC_INFO', 'product_music_info');
define('FILENAME_PRODUCT_BOOKX_INFO', 'product_bookx_info');
And done as far as installation. With those two changes the bookx product URIs could be rewritten using CEON...
-
Re: Ceon URI Mapping v4.x
Hi All!
I am trying to figure out how to remove category_name from my product pages. Currently, my product page uri's look like this:
mystore.com/main_category/supcategory/product_title
I'm fine with my category pages having that structure, but I'd prefer to shorten the uri on product pages to look like this:
mystore.com/product_title
Anybody know how to accomplish this?
Thanks!
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
Feznizzle
Hi All!
I am trying to figure out how to remove category_name from my product pages. Currently, my product page uri's look like this:
mystore.com/main_category/supcategory/product_title
I'm fine with my category pages having that structure, but I'd prefer to shorten the uri on product pages to look like this:
mystore.com/product_title
Anybody know how to accomplish this?
Thanks!
One way is to go to edit the product page, then modify the uri that is presented at the bottom of the page to remove the category portion of the uri, review, then save. This will maintain the previous URI (for sources that have previously mapped to it) and will establish a new link to the same product.
Alternatively, can accomplish the same thing through database manipulation.
In no particular order, though preferred to be done quickly, review the entry that is to be modified, copy the contents of the entry add the entry with the uri string modified to remove the category description, ensuring that it is stored as the active uri. Also deactivate the previous uri entry maintaining it as historical (for the same reason as above). In this scenario though there is no "autocheck" to validate that two products don't have the same URI which would cause one to be "lost" to an extent...
There are also somewhat "more advanced" methods involving export, modification, and import/replace of the applicable data table...
-
Re: Ceon URI Mapping v4.x
Thanks for the info, MC.
Bummer. I was hoping for a simple way to alter the autogenerated uri.
I have not looked at the code yet, but I should think it would be simple to fix.
I will poke around and then post whatever solution I come up with before implementing it.
Thanks!
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
Feznizzle
Thanks for the info, MC.
Bummer. I was hoping for a simple way to alter the autogenerated uri.
I have not looked at the code yet, but I should think it would be simple to fix.
I will poke around and then post whatever solution I come up with before implementing it.
Thanks!
Well, that's a bit of an animal of a different color... OP made it appear as if the store already had all of its URIs populated (requiring modification away from the default generation). Can also take a look, but it would basically be within the product mapping portion where it goes out to investigate the code aspect. That said though, if working within a single category, could use the option of:
Quote:
Character/String Replacements: |
This is a comma-separated list of pairs of characters/strings and replacement characters/strings.
The characters/strings to be replaced in the auto-generated URIs should be separated from their replacements using “=>”. E.g. “£=>GBP, $=>USD”.
Any spacing entered for a replacement will be used but replaced with the usual whitespace replacement character (so be careful not leave an extra space at the end of the text entered below if it is not intended!). Spacing entered for the strings/characters to be replaced will be removed/ignored; so it's fine to add a space after each comma, to make things easier to read.
To remove a character/string simply replace it with nothing. E.g. “£=>, $=>” removes £ and $ dollar signs from the auto-generated URI. |
Whereby the category/category string is provided on the left side and the right side is left empty... Just a thought...
-
Re: Ceon URI Mapping v4.x
Ha! Very creative! Great idea, thanks!
-
Re: Ceon URI Mapping v4.x
Please update this mod with the new copy of includes/functions/html_output.php
from the November 2015 patches
https://www.zen-cart.com/showthread....-November-2015
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
swguy
Wondered if the above was the "right" thing to do. Already updated some of the Stock-by-Attributes mod files to address related issues, will seek to update this one as well.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mc12345678
Wondered if the above was the "right" thing to do. Already updated some of the Stock-by-Attributes mod files to address related issues, will seek to update this one as well.
It's the right thing to do for a number of reasons..
1. The original author is not longer with us else this would be managed by the late great Mr Kerr
2. NO ONE has really kept this module updated since his passing..
As this IS an open source module, anyone who wishes to pick up where Conor left off can and SHOULD do so.. I think the community would be glad to see this in your capable hands sir.. I think Conor would approve and I KNOW his family definitely would give you their blessing.. :smile:
-
Re: Ceon URI Mapping v4.x
Hi
What's the status of this module ?
I have it in a book shop, and it's working with bookx product type, but I never bought the feature to automatically update the url''s.
Then when I thought that would be a good time to buy that feature, I was aware here in the forum, that the author Connor had past way, and I saw the module on a site that I can't remember for about $100 or $150 ... something like that.
I use EP4 (the git one), and I saw that now supports the CEO URI url's, but I'm still upgrading the store to 1.54, and I didn't had the time yet, to see, If I can, for my self, work with EP4 and CEON, to update the url's. I've made to EP4 a extra feature to import bookx products type, (it's on git), but not quite finish, in fact, a lot of work is to be done, but now, it's very important to upgrade the store. But for me, CEON and EP4 with the import of bookx, it's good.
But who's working , or managing this module now ? Will it have updates, is it free or payed ?
Thanks
-
Re: Ceon URI Mapping v4.x
I have been getting updates here. We install the one that is offered here for the main admin area then just use the files from their item (they took over after his death).
http://www.jsweb.uk/zen-cart-plugins...-friendly-urls
-
Re: Ceon URI Mapping v4.x
Thanks
But they say :
Quote:
NOTE: This version does NOT automatically add mappings for EXISTING categories/products/manufacturers/ez-pages and is only suitable for new stores, or those with just a small number of products.
But there was a place were the "pro" version was available.... or the "pro" stuff , is no more ?
-
Re: Ceon URI Mapping v4.x
You could ask them or check the entire store there to see if they have the pro version.
If you are upgrading your store with the same database then you won't need to worry about entering the information again. Or if you are changing the url name to something other than what it is now you just click the little tic box before you save or preview and update product pages. It will then update the links.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mesnitu
Hi What's the status of this module ?I have it in a book shop, and it's working with bookx product type, but I never bought the feature to automatically update the url''s. Then when I thought that would be a good time to buy that feature, I was aware here in the forum, that the author Connor had past way, and I saw the module on a site that I can't remember for about $100 or $150 ... something like that. I use EP4 (the git one), and I saw that now supports the CEO URI url's, but I'm still upgrading the store to 1.54, and I didn't had the time yet, to see, If I can, for my self, work with EP4 and CEON, to update the url's. I've made to EP4 a extra feature to import bookx products type, (it's on git), but not quite finish, in fact, a lot of work is to be done, but now, it's very important to upgrade the store. But for me, CEON and EP4 with the import of bookx, it's good. But who's working , or managing this module now ? Will it have updates, is it free or payed ? Thanks
To expound on what DarkAngel has provded.
The CEON URI mapping software as provided here on Zen Cart remains free and is being supported. I have an update to incorporate the recently identified concerns (November 2015 announcement), but it still needs to be submitted for review and posting.
The other two things you identified are commercial products and not directly supported on the forum as a matter of forum policy. Internet search for those items should resolve to sources from which to obtain the applicable product.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mc12345678
To expound on what DarkAngel has provded.
The CEON URI mapping software as provided here on Zen Cart remains free and is being supported. I have an update to incorporate the recently identified concerns (November 2015 announcement), but it still needs to be submitted for review and posting.
The other two things you identified are commercial products and not directly supported on the forum as a matter of forum policy. Internet search for those items should resolve to sources from which to obtain the applicable product.
ok. I'll check that EP4 featured.
-
Re: Ceon URI Mapping v4.x
Ok, I am about to use CEON for in a very unique, off-label way. But I have some questions and I'd like some advice/opinions before I do it.
+++++++++++++++++++
SITUATION
A few years ago, I migrated a client's site to ZC (currently zc154). At some point, I set up Google Webmaster for them. Recently (over the last week), the console has been kicking out tons of 404 Crawl Errors (159, as of just now… was 48 last weekend). A big chunk (80%) of the URL's end with .aspx and go something like this:
- mydomain.com/contact.aspx
- mydomain.com/cat-Soldering_Equipment_and_Supplies-17.aspx
- mydomain.com/cat-Fume_Extraction-76.aspx
Which means they are legacy links, used to be legit a few years ago.
When I first received the alert from google that there was an increase of 404's, I was tempted to ignore them. I thought they were just broken incoming links. But when I drilled down on them in the console to find the origin, almost all appeared not to be incoming, rather links found on their site.
So last night I downloaded their entire db via phpMyAdmin. I found many .asp and .aspx links, but all were legit outbound links. So then I zipped the entire public_html folder, downloaded, and gripped. Again, every instance of asp/aspx was legit.
This left me very confused. I have no flipping clue how google can say that pages on my site that do NOT exist are linking to other pages on my site that do NOT exist.
Went bed very late, very frustrated. But woke up with a pretty good solution (maybe?).
+++++++++++++++++++
CAUSATION
I'm fairly sure that, at some point long ago, I used Ceon to redirect legacy url's to updated ones. My clients recently decided to restructure all URI's using the Ceon mod (commercial version I bought from Conor shortly before he passed). This rebuild broke all the legacy stuff for some reason.
+++++++++++++++++++
SOLUTION
Ok as I see it, there are two problems. First, external sites are still linking to old pages that no longer exist (legacy). Second, google also seems to be blaming my site as the source of links to these pages that do not exist.
PART 1
The second one seems easy enough to fix: I will use robot.txt to place a nofollow:
User-agent: *
Disallow: *.asp
Disallow: *.aspx
This will tell SE's not to even try to index those old url's. So even if google believes the links are coming from me, it will ignore them.
PART 2
If you can't beat 'em, join 'em!
Apparently there are still plenty of external sites supplying old incoming links (I was able to find a few). Rather than try to hunt them all down and beg webmasters to make changes, I'll just line up legacy urls to the current url and insert the legacy uri into the Ceon db for redirect to the current uri.
This is what I'll do (NOTE: the following tags may differ from the free mod, but the principal should be the same and thus applicable/usable for others who may visit this forum with the same SEO problem). I will:
- Open phpMyAdmin and dump the table 'ceon_uri_mappings' as csv.
- Open google webmaster console, export 404 url's as csv.
- Line up legacy uri's in column next to ceon uri's to get the correct associated_db_id.
- Rename legacy column to 'uri' and delete current 'uri' column.
- Remove all rows, except the legacy uri's that I want to insert.
- Change existing current_uri entry from 1 to 0 (so that ceon redirects).
- Import legacy uri file back into ceon_uri_mappings table.
Now, incoming links will be redirected instead of landing on a Not Found. In theory, external/incoming legacy links will:
- Regain any SEO strength
- Not trigger SE 404 errors (????)
PART 3
As soon as the two above are finished, I will:
- go to the google console and mark all as fixed.
- ping SE's for a crawl.
- pray real hard that it works! lol
+++++++++++++++++++
QUESTIONS
Are there any wholes in the PART 2 fix above? Will it cause any problems?
Should I implement the robot.txt fix? Will that undo the Ceon fix? My thought is that my Disallow of asp extensions will simply stop any following of internal links (just in case something weird is going on that I can't find). But if an SE follows a link in, they will:
- not get a 404
- simply get redirected before they can index
The possible problem would be that maybe the SE bot––upon arrival--maybe see the disallow before the redirect. If that happens, any SEO strength gained from external links could be undone, maybe?
Anybody see a dif solution to this whole problem? Again, I have searched the entire db and every last text/php/whatever file contained in the public_html, finding no internal links to any of 404 uri's.
But maybe instead of editing the URI table, there is another way to do this?
Any thoughts would be appreciated!
-
Re: Ceon URI Mapping v4.x
One more quick question. Let's say I have a Ceon uri for an EZpage like this:
/About_Us
And I change it to:
/About_Acme_Products_Inc
Then the first uri becomes legacy and will continue to work, redirecting any visitor the new uri.
But what kind of redirect occurs? Is it a 301 permanent redirect?
-
Re: Ceon URI Mapping v4.x
Hello,
I just wanted to say , I love this plugin and it makes things so much nicer looking.
I am noticing two versions of links in google search from some of my products.
example : I sell a Netgear ac adapter model AD8180LF. When i search for that product, I get the old link for the non module version and the new version with the SEO links.
Will i be penalized by google for this in my search ranking ? Having two links that go to the same place like that ? Will this count and duplicate links ?
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
jasonshanks
Hello,
I just wanted to say , I love this plugin and it makes things so much nicer looking.
I am noticing two versions of links in google search from some of my products.
example : I sell a Netgear ac adapter model AD8180LF. When i search for that product, I get the old link for the non module version and the new version with the SEO links.
Will i be penalized by google for this in my search ranking ? Having two links that go to the same place like that ? Will this count and duplicate links ?
Apparently at some point your store did not have user friendly URIs and now it does after those were indexed... So, allow me to offer this thought, if you were to be penalized, wouldn't it already have been applied? Not exactly a, on Tuesday we regrade type event...
On the flip side, the expectation, without getting into a huge discussion that has been had multiple times in this thread and many others, is that both (or however many) addresses resolve to the same canonical address... This is something to tell the SEs, hey you might have gotten here 5 ways to Sunday, but I'm the same thing for all versions and I know this it is by design to get here from all those addresses, it's not like I'm trying to dupe the customers or SEs.
And one thing about CEON URIs is that you can "move" the product from URI to other URI and at any one time if you maintain the database instead of using a series of .htaccess rules, there is always at most one jump from the address provided to the address chosen by the store owner. So there's no redirect of a redirect of a redirect, oops that one's caught in a loop redirect issue...
I would also like to say that I am no SEO "expert" and am applying what has been considered by others to be good (acceptable?) product/URI management.
-
Re: Ceon URI Mapping v4.x
With version 4.5 of CEON and Zen Cart 1.5.4, I'm seeing the following errors when copying a product. When can be done?
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::regexpReplace() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.CeonURIMappingAdmin.php on line 561
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::convertCharset() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.String.php on line 879
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::toLowercase() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.String.php on line 112
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::toLowercase() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.String.php on line 113
...
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
tpbeck
With version 4.5 of CEON and Zen Cart 1.5.4, I'm seeing the following errors when copying a product. When can be done?
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::regexpReplace() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.CeonURIMappingAdmin.php on line 561
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::convertCharset() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.String.php on line 879
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::toLowercase() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.String.php on line 112
[27-Feb-2016 13:24:53] PHP Strict Standards: Non-static method String::toLowercase() should not be called statically, assuming $this from incompatible context in /var/www/vhosts/learnhomeopathynow.com/httpdocs/shop/includes/classes/class.String.php on line 113
...
Not experiencing this type of error when creating copy of products so far... Have tried, link copying as well as duplication of product with attributes as well... Please explain what process is being used for duplication, also what is the URI for the product downstream of the path to your site. What are the other conditions? PHP version? Etc...
-
Re: Ceon URI Mapping v4.x
Will this current version of Ceon URI mapping work with the latest zen cart version 1.5.5? Any thoughts?
Cheers
Terry
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
RedSpinnaker
Will this current version of Ceon URI mapping work with the latest zen cart version 1.5.5? Any thoughts?
Cheers
Terry
"Work" and contain the latest changes/upgrades to underlying processing are two different things. An update including the suggested security updates and further ZC 1.5.5 compatibility are expected relatively soon. But haven't tried installing pretty much anything with ZC 1.5.5 uet as trying to resolve some other related issues.
-
Re: Ceon URI Mapping v4.x
Chad - You know I love you, but I am confused with what you said.... lol
I am getting ready to do a 1.5.5 upgrade to a site that has this mod... so is the current version compatible with 1.5.5? Or should I just upgrade the customer to 1.5.4?
Quote:
Originally Posted by
mc12345678
"Work" and contain the latest changes/upgrades to underlying processing are two different things. An update including the suggested security updates and further ZC 1.5.5 compatibility are expected relatively soon. But haven't tried installing pretty much anything with ZC 1.5.5 uet as trying to resolve some other related issues.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
stellarweb
Chad - You know I love you, but I am confused with what you said.... lol
I am getting ready to do a 1.5.5 upgrade to a site that has this mod... so is the current version compatible with 1.5.5? Or should I just upgrade the customer to 1.5.4?
Can not advise on how to progress with customer. I have not tested on ZC 1.5.5. As is will not work on PHP 7.0. There is also a change to the ZC core code for canonical URIs that needs review to ensure that the addtional features implemented were not already/previously addressed in one way or another.
Otherwise, I haven't seen any changes to the ZC core code that would prevent operation. (The November security alerts from 2015 should be applied when merging the changes of this code to the ZC 1.5.5 code.)
-
Re: Ceon URI Mapping v4.x
Thanks Chad!! Will see what customer wants to do.
Quote:
Originally Posted by
mc12345678
Can not advise on how to progress with customer. I have not tested on ZC 1.5.5. As is will not work on PHP 7.0. There is also a change to the ZC core code for canonical URIs that needs review to ensure that the addtional features implemented were not already/previously addressed in one way or another.
Otherwise, I haven't seen any changes to the ZC core code that would prevent operation. (The November security alerts from 2015 should be applied when merging the changes of this code to the ZC 1.5.5 code.)
-
Re: Ceon URI Mapping v4.x
Situation:
I am staging products/categories one site and will later move them to the live site. I am not bothering to create my CEON URIs on the staging site, will do that on the live site. The reason I'm not triggering CEON URIs is that Zen though the product ID will not change between staging and live, the categories may change. Since the category will appear in the URI, I must wait.
Question:
Is there a way to create an href from one internal product product page to another that will trigger the CEON URI? Given that I know the Product ID will not change, it *seems* like I should be able to just use the Zen cpath.
Testing:
To test it out, I created an href from one product to another before triggering a CEON URI for the second page. Then I triggered a URI for the second page. Sadly I can't seem to get it to work!
Here is the test page:
http://0stage.justmedical***DOT***bi..._Test_1_Images
On that page, you will see a reference to Clark Socket. If you hover over it, you will see a Zen created url. But if you click on the link, you will transport to a CEON URI.
Here is the actual code I used:
<p>Here is a link: <strong><a href="/index.php?main_page=product_info&cPath=4&products_id=124">Clark Socket</a></strong></p>
Is there a way to trigger the URI (cause it to print into the html) of the originating page, without actually knowing what the URI will be?
-
Re: Ceon URI Mapping v4.x
URIs from this plugin are generated/substituted when using the zen_href_link function, not by parsing page hard entered code. To perform some sort of similar substitution would require code to parse the description. And make that substitution. Alternatively, the description can be later modified through whatever "tool" is desired. Ie. Phpmyadmin, a sql query to replace, a mass update type program.
In the end though this is proof that with or without the uri being known. To be rewritten that CEON URI mapping works with original ZC URIs as well...
Further alternatively, this is a reason that if generating URIs that the development site be setup to support the live site as a mirror to the live site making movement of that data seamless.
-
Re: Ceon URI Mapping v4.x
I was afraid that would be the answer: "URIs from this plugin are generated/substituted when using the zen_href_link function, not by parsing page hard entered code."
Bummer. I'll find another way...
Thanks MC!
-
Re: Ceon URI Mapping v4.x
I hacked this together a few years back to auto generate CEON product URIs - it's crude but it's worked well for me, and it's free. Simply copy one of the admin pages and drop the code in, run as needed to update product URIs.
It lists all the categories on the site. Click the category name to auto populate the product URIs into the database.
Notes:
- It uses the old mysql function because I haven't kept up to date on coding practices
- Filebase it works with for me is CEON 4.4.1
- The site I have it on is running ZC 1.5.1
- You do need the category slug to be generated before generating the product URIs - just navigate to the regular zencart "edit categories" page and edit then save each category
Code:
<?php // display categories to select from
$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";
}
echo "</p>\n<hr/>\n";
?>
<?php
$replacechars = array("(",")","'","\"","$","%","&"); // specify all characters to be eliminated
// update all products in category
$updateuris = mysql_query("SELECT * FROM zen_products WHERE master_categories_id='{$_GET['updatecategory']}'");
while ($thisuri = mysql_fetch_assoc($updateuris)) {
unset($catname);
$productsid = $thisuri['products_id'];
$productsname = implode(mysql_fetch_assoc(mysql_query("SELECT products_name FROM zen_products_description WHERE products_id='{$productsid}'")));
$catname = implode(mysql_fetch_assoc(mysql_query("SELECT uri FROM zen_ceon_uri_mappings WHERE main_page='index' AND associated_db_id='{$thisuri['master_categories_id']}'")));
$newuri = $catname."/".strtolower(str_replace(" ","-",$productsname));
//$newuri = "/".strtolower(str_replace(" ","-",$productsname)); // product-only on this site
$newuri = str_replace($replacechars,"",$newuri); // remove characters in the array above
$today = date('Y-m-d G:i:s'); // today
if($productsname == ''){continue;} // skip empty names
$exists = implode(mysql_fetch_assoc(mysql_query("SELECT * FROM zen_ceon_uri_mappings WHERE main_page='product_info' AND associated_db_id='$productsid'"))); // used to check if product already exists to do update vs insert
if ($exists) { // if already in zen_ceon_uri_mappings, update
mysql_query("UPDATE zen_ceon_uri_mappings SET uri='$newuri' WHERE main_page='product_info' AND associated_db_id='$productsid'");
$result = "Updated... ".mysql_error();
} else { // else, insert
mysql_query("INSERT IGNORE INTO zen_ceon_uri_mappings
(`uri`, `language_id`, `current_uri`, `main_page`, `query_string_parameters`, `associated_db_id`, `alternate_uri`, `redirection_type_code`, `date_added`) VALUES
('$newuri','1','1','product_info',NULL,'$productsid',NULL,NULL,'$today')");
$result = "Inserted... ".mysql_error();
}
echo "<p>$newuri (cat: {$thisuri['master_categories_id']}) - $result</p>\n"; // display whether updated or inserted and any problems encountered
}
?>
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
bobthemolder
I hacked this together a few years back to auto generate CEON product URIs - it's crude but it's worked well for me, and it's free. Simply copy one of the admin pages and drop the code in, run as needed to update product URIs.
It lists all the categories on the site. Click the category name to auto populate the product URIs into the database.
A standalone URI generator? Awesomeness! Right on!!!!
-
Re: Ceon URI Mapping v4.x
@bobthemolder,
I think the following does the same thing, but uses the Zen Cart $db stuff to do the queries, making your stuff compatible with newer ZC versions.
I don't have a CEON URI site to test it on, but I think I've converted it correctly.
Code:
// display categories to select from
$categories = $db->Execute("SELECT * FROM " . TABLE_CATEGORIES . " c LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON c.categories_id = cd.categories_id WHERE c.categories_status='1'");
echo "<p>Click on a category to update its 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();
}
echo "</p>\n<hr/>\n";
$replacechars = array("(",")","'","\"","$","%","&"); // specify all characters to be eliminated
// update all products in category
$_GET['updatecategory'] = (int)$_GET['updatecategory'];
$updateuris = $db->Execute("SELECT * FROM " . TABLE_PRODUCTS . " WHERE master_categories_id='{$_GET['updatecategory']}'");
while (!$updateuris->EOF)) {
$thisuri = $updateuris->fields;
unset($catname);
$productsid = $thisuri['products_id'];
$productsname = zen_get_products_name($productsid);
if($productsname == '') continue; // skip empty names
$result = $db->Execute("SELECT uri FROM " . TABLE_CEON_URI_MAPPINGS . " WHERE main_page='index' AND associated_db_id='{$thisuri['master_categories_id']}'");
$catname = $result->fields['uri'];
$newuri = $catname."/".strtolower(str_replace(" ","-",$productsname));
//$newuri = "/".strtolower(str_replace(" ","-",$productsname)); // product-only on this site
// remove characters in the array above
$newuri = str_replace($replacechars,"",$newuri);
$today = date('Y-m-d G:i:s'); // today
// check if product already exists to do update vs insert
$result = $db->Execute("SELECT * FROM " . TABLE_CEON_URI_MAPPINGS . " WHERE main_page='product_info' AND associated_db_id='$productsid'");
$exists = $result->RecordCount();
if ($exists) { // if already in TABLE_CEON_URI_MAPPINGS, update
$db->Execute("UPDATE " . TABLE_CEON_URI_MAPPINGS . " SET uri='$newuri' WHERE main_page='product_info' AND associated_db_id='$productsid'");
$status = "Updated. ";
} else { // else, insert
$db->Execute("INSERT IGNORE INTO " . TABLE_CEON_URI_MAPPINGS . "
(`uri`, `language_id`, `current_uri`, `main_page`, `query_string_parameters`, `associated_db_id`, `alternate_uri`, `redirection_type_code`, `date_added`) VALUES
('$newuri','1','1','product_info',NULL,'$productsid',NULL,NULL,'$today')");
$status = "Inserted. ";
}
// display whether updated or inserted and any problems encountered
echo "<p>$newuri (cat: {$thisuri['master_categories_id']}) - $status</p>\n";
$updateuris->MoveNext();
}
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
DrByte
@bobthemolder,
I think the following does the same thing, but uses the Zen Cart $db stuff to do the queries, making your stuff compatible with newer ZC versions.
I don't have a CEON URI site to test it on, but I think I've converted it correctly.
Code:
// display categories to select from
$categories = $db->Execute("SELECT * FROM " . TABLE_CATEGORIES . " c LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON c.categories_id = cd.categories_id WHERE c.categories_status='1'");
echo "<p>Click on a category to update its 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();
}
echo "</p>\n<hr/>\n";
$replacechars = array("(",")","'","\"","$","%","&"); // specify all characters to be eliminated
// update all products in category
$_GET['updatecategory'] = (int)$_GET['updatecategory'];
$updateuris = $db->Execute("SELECT * FROM " . TABLE_PRODUCTS . " WHERE master_categories_id='{$_GET['updatecategory']}'");
while (!$updateuris->EOF)) {
$thisuri = $updateuris->fields;
unset($catname);
$productsid = $thisuri['products_id'];
$productsname = zen_get_products_name($productsid);
if($productsname == '') continue; // skip empty names
$result = $db->Execute("SELECT uri FROM " . TABLE_CEON_URI_MAPPINGS . " WHERE main_page='index' AND associated_db_id='{$thisuri['master_categories_id']}'");
$catname = $result->fields['uri'];
$newuri = $catname."/".strtolower(str_replace(" ","-",$productsname));
//$newuri = "/".strtolower(str_replace(" ","-",$productsname)); // product-only on this site
// remove characters in the array above
$newuri = str_replace($replacechars,"",$newuri);
$today = date('Y-m-d G:i:s'); // today
// check if product already exists to do update vs insert
$result = $db->Execute("SELECT * FROM " . TABLE_CEON_URI_MAPPINGS . " WHERE main_page='product_info' AND associated_db_id='$productsid'");
$exists = $result->RecordCount();
if ($exists) { // if already in TABLE_CEON_URI_MAPPINGS, update
$db->Execute("UPDATE " . TABLE_CEON_URI_MAPPINGS . " SET uri='$newuri' WHERE main_page='product_info' AND associated_db_id='$productsid'");
$status = "Updated. ";
} else { // else, insert
$db->Execute("INSERT IGNORE INTO " . TABLE_CEON_URI_MAPPINGS . "
(`uri`, `language_id`, `current_uri`, `main_page`, `query_string_parameters`, `associated_db_id`, `alternate_uri`, `redirection_type_code`, `date_added`) VALUES
('$newuri','1','1','product_info',NULL,'$productsid',NULL,NULL,'$today')");
$status = "Inserted. ";
}
// display whether updated or inserted and any problems encountered
echo "<p>$newuri (cat: {$thisuri['master_categories_id']}) - $status</p>\n";
$updateuris->MoveNext();
}
Hi,
I am not sure I understood how to use the code above, I mean how to make in work.
bobthemolder said to copy it in a amdin page but I did it in the categories.php page and all what I get is a blank page (zen cart v1.5.5)
Can you please explain it in more details?
Thanks
enzo
-
Re: Ceon URI Mapping v4.x
You don't need to understand it: there is now a 155 version available for download. Simply install that!
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
hairydog
You don't need to understand it: there is now a 155 version available for download. Simply install that!
Thanks but there is not a version that does this
Quote:
auto generate CEON product URIs - it's crude but it's worked well for me, and it's free. Simply copy one of the admin pages and drop the code in, run as needed to update product URIs.
as bobthemolder said.
I like to understand and experimet, however.
Ciao
enzo
-
Re: Ceon URI Mapping v4.x
Hi
Kind of Feature request:
Is there a possibility in a near future that ceon could add the bookx product type to his package ?
There's a product type ( in the install ) for product_book ... but I think that module has drop from updates.
This one, BookX it's new and it's alive.
I've pasted on git , what I've done to have the Ceon working with BookX product type, so basically copy and pasting the code from book module to bookx module.
Well, I never use the other book module, but I guess it would update the products uri, and not the authors, genres...etc...but I don't know.
Anyway , it would be nice :)
Perhaps this link could save you some additional work... or not
https://github.com/mesnitu/Ceon-BookX/
Thanks
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mesnitu
Is there a possibility in a near future that ceon could add the bookx product type to his package ?
Unfortunately, I think it is safe to say that he won't be updating this addon any more.
Last time I was in touch with Conor, he was actually coding from his hospital bed, but since he died there have been no more updates.
I think we can assume that if there is an afterlife, it doesn't have a useable internet connection.
-
Re: Ceon URI Mapping v4.x
Yes I know... not sure if he's name was Ceon ? I know has Conor , But if so, that's not what I wanted to say...
I think there's someone that will continue with the Ceon module, so I was addressing to them.
Today I've installed this module, and in the download folder, there's still the old book module.
And now there is a new one, the bookx.
So , more or less, perhaps they can adjust to this new module.
Just a idea.
Thanks
and sorry for the confusion.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mesnitu
Yes I know... not sure if he's name was Ceon ? I know has Conor , But if so, that's not what I wanted to say...
I think there's someone that will continue with the Ceon module, so I was addressing to them.
Today I've installed this module, and in the download folder, there's still the old book module.
And now there is a new one, the bookx.
So , more or less, perhaps they can adjust to this new module.
Just a idea.
Thanks
and sorry for the confusion.
It would really help if you explained WHAT BookX is and why it differs from the BOOK product type already included.. (not really seeing this explained at all in your "request") Some explanation as to why this isn't a ONE-OFF product type will be most useful for the author and the community. Unless there's a COMPELLING reason to add support for a new product type, it's not likely this will be taken into consideration by the current author as a future addition.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
DivaVocals
It would really help if you explained WHAT BookX is and why it differs from the BOOK product type already included.. (not really seeing this explained at all in your "request") Some explanation as to why this isn't a ONE-OFF product type will be most useful for the author and the community. Unless there's a COMPELLING reason to add support for a new product type, it's not likely this will be taken into consideration by the current author as a future addition.
Well, I thought it was clear, but it's quite simple:
The current author could try to download the product_type book that now supports.
While the bookX it's available and as a active thread forum.
ONE-OFF product type...don't understand.
The files are on git.
If it's included or not... well it's up to the current author.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mesnitu
Well, I thought it was clear, but it's quite simple:
The current author could try to download the product_type book that now supports.
While the bookX it's available and as a active thread forum.
ONE-OFF product type...don't understand.
The files are on git.
If it's included or not... well it's up to the current author.
One-off = Something you created for YOUR store or will be used by only a limited number of stores..
So no it's not clear which is why I asked the question.. What is the difference between your BookX product type and the currently available Book product type?? Is this an UPDATE to the book product type available with this module, or is it a VARIATION to the book product type that this module comes with? Again, it's not really clear from the readme in your Github or in your posts describing it. Yes the author could look at your files, but it would be LOADS easier if you explain what it is they will be looking at first..:smile: Otherwise they will need to compare your files to those already in existence, and it would be quite useful to know what it is that is being considered for inclusion before starting such an analysis.. The free module and it's support are a voluntary effort so authors are often short on time. A little more info could be invaluable..
-
Re: Ceon URI Mapping v4.x
Well, first let me be clear on this: I didn't made the bookX, it's from the zencart user -> Philou.
I just work to a bookshop that runs bookx module and ceon module. So a kind of happy user.
The files that I've sent to git, are actually for myself and who ever wants to take a look a them, cause when zc156 comes along, it's certain that I'll have to make this process all over again, and it's quite boring.
The diference are those that I mentioned. The book product type is no more. There's no download plugin, the last forum post is from 1876 ( more or less )
I think Philou made this module because he needed and was aware that the book product type was not active anymore. Probably that's why he call it bookX , cause you never know the mysteries of live, and the other one, could reborn. That's what I think.
So I would say, that bookx is sucessor of book product_type. It's a filter for books that deals with all those fields belonging to books, isbn, genres, authors , etc, etc...
I'm not sure what ceon module did to the book product type in terms of uri for filters... but I guess nothing.
The same is happening now with those Ceon files for BookX.
It simply recognizes the product type, and adds a uri for the product_bookx_info ( or info display )
-
Re: Ceon URI Mapping v4.x
The files on git only adds this line to a couple of files
PHP Code:
/**
* Product type info pages which are missing their defines.
*/
define('FILENAME_DOCUMENT_GENERAL_INFO', 'document_general_info');
define('FILENAME_DOCUMENT_PRODUCT_INFO', 'document_product_info');
define('FILENAME_EZPAGES_POPUP', 'ezpages_popup');
define('FILENAME_PRODUCT_BOOK_INFO', 'product_book_info');
define('FILENAME_PRODUCT_FREE_SHIPPING_INFO', 'product_free_shipping_info');
define('FILENAME_PRODUCT_MUSIC_INFO', 'product_music_info');
define('FILENAME_PRODUCT_BOOKX_INFO', 'product_bookx_info');
All the rest are the "merges" needed with ceon code to bookx files.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mesnitu
Well, first let me be clear on this: I didn't made the bookX, it's from the zencart user -> Philou.
I just work to a bookshop that runs bookx module and ceon module. So a kind of happy user.
So in the name of complete clarity, BookX is a product type module for Zen Cart (sorry to be a PITA, but that TRULY wasn't clear in your prior posts)
Quote:
Originally Posted by
mesnitu
I'm not sure what ceon module did to the book product type in terms of uri for filters... but I guess nothing.
The same is happening now with those Ceon files for BookX.
It simply recognizes the product type, and adds a uri for the product_bookx_info ( or info display )
And that's truly the extent of what Conor did was to add the code to properly support the Book product type. I do believe the install instructions and posts in this support thread explain how to add other product types (including presumably Book X). I think the smart move on the author's part would be to ensure that these instructions are updated or created (if they don't exist) so that ANYONE who needs to add any non-stock product types know what changes need to be made.
-
Re: Ceon URI Mapping v4.x
Last Thursday 4/14 all of my uri's stopped working and started returning 404 errors. In full disclosure I have been rebuilding my categories an products and in the process emptied and recreated the uri_mappings (that was probably the wrong thing to do). I am not sure which version of ceon I am running. I believe it is 4x but I can't find where to check that. Do you have any suggestions on how to fix this.
Thanks
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
Doveman
Last Thursday 4/14 all of my uri's stopped working and started returning 404 errors. In full disclosure I have been rebuilding my categories an products and in the process emptied and recreated the uri_mappings (that was probably the wrong thing to do). I am not sure which version of ceon I am running. I believe it is 4x but I can't find where to check that. Do you have any suggestions on how to fix this.
Thanks
Are any rewritten uris working at this point? Ie. If you apply a new uri to an existing product, can you access it by the new uri?
-
Re: Ceon URI Mapping v4.x
Version information is provided in the modules/ceon uri mappings window.
-
Re: Ceon URI Mapping v4.x
Do you have a backup of your ceon_uri_mappings table (database backup) of before you cleared it out?
Thing with this module is that the table doesn't really need to be cleared out and in fact shouldn't be so that anyone with a historical link to the product/content of the site can still access the most recent version of the product'S uri.
More than likely something changed in your htaccess for your site either by your doing or more than likely your host, but should never disregard the possibility of a non-permitted third party.
-
Re: Ceon URI Mapping v4.x
So I do not have a backup of the mappings. My Ceon version # is 4.5.0 My ZenCart Version is 1.5.4 none of the uri's are found.
This is a very new site so I am not worried about users finding an old uri. I have about 1400 categories and well over 50k products so user friendly uri's would be really useful.
The code that we use to load these is custom written so I might have an issue there but it was working prior to last Thursday.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
Doveman
So I do not have a backup of the mappings. My Ceon version # is 4.5.0 My ZenCart Version is 1.5.4 none of the uri's are found.
This is a very new site so I am not worried about users finding an old uri. I have about 1400 categories and well over 50k products so user friendly uri's would be really useful.
The code that we use to load these is custom written so I might have an issue there but it was working prior to last Thursday.
So, you'll want to figure out what changed last Thursday (so that it can be restored) otherwise running the installation check ought to identify if something is missing. Has your php been upgraded? (in admin top right corner, version, please provide associated information.)
-
Re: Ceon URI Mapping v4.x
Well, I found out that there was a patch applied to apache. I didn't find out all the details (they didn't keep notes) except they said it was an "apache 2.4.10 Debu2 patch to close one of the published security holes".
I do have a routine that runs from comand line to build feed files and it executes the following:
$sql = "select * from ceon_uri_mappings where main_page = 'product_info' and associated_db_id = " . $products->fields['products_id'];
$ceon_uri_mappings = $db->Execute($sql);
The script runs fine and produces all of the correct uris. They all look correct and if I look them up in the ceon_uri_mappings table the uri has the correct associated db id.
Not knowing how ceon actually works I am not sure what to do next. Any Suggestions?
-
Re: Ceon URI Mapping v4.x
So your query is indescriminate about whether the uri is active or not, not sure if that is intentional. But it sounds as if the uri's are still in the database. What was the result of the installation check? What other plugins are installed? How is your ZC store code different from a vanilla install? What are the contents of your htaccess file for the store (be sure to obscure the admin directory's name). Does the file date for the htaccess at all correlate with the described event(s)?
-
Re: Ceon URI Mapping v4.x
Problem SOLVED!
I started going through the check list you sent and it turned out that when they made the patches to the system they also added (with out telling me) a condition to the .htaccess file.
The condition was:
#Disable Trace Method
#RewriteCond %{REQUEST_METHOD} ^TRACE
As soon as I commented out the RewriteCond everything started working.
Thank you so much for your assistance. I would never have found it without you.
-
Re: Ceon URI Mapping v4.x
Welcome. :)
You may want to check with your host to see if that was something they need or was perhaps left behind in some form of testing. It could possibly be reincorporated (properly) but it's need for presence must be determined.
-
1 Attachment(s)
Re: Ceon URI Mapping v4.x
I hope somone can help me as I have been trying to figure this out for hours and hours! Unfortunately I am no expert so I hope this makes sense. I've installed this module and generated the URL's for all of the category and product pages through the admin section, and that worked with no issues. I can also generate them for the EZ pages through admin. Now I am trying to generate new URL's for the permanent pages. I've tried to follow the instructions but cannot get it to work whatever I try in phpMyAdmin. The pages I want to change are the following:
/index.php?main_page=page_2 > /about
/index.php?main_page=page_3
/index.php?main_page=page_4
/index.php?main_page=page_5
/index.php?main_page=page_6
/index.php?main_page=page_7
/index.php?main_page=testimonials_manager_all_testimonials
/index.php?main_page=shippinginfo
/index.php?main_page=privacy
/index.php?main_page=conditions
/index.php?main_page=contact_us
/index.php?main_page=site_map
/index.php?main_page=gv_faq
/index.php?main_page=unsubscribe
The problem is, I am not sure what to put in the main_page or associated_db_id? Please see attachment. Many Thanks
Attachment 16271
-
Re: Ceon URI Mapping v4.x
I think you're overthinking things. :)
Main_page is the content that follows the url parameter main_page=
So, for /index.php?main_page=page_2, main_page field is page_2. For the associated_db_id, there is no "unique" value that is associated so it should remain blank. This value is used to target a specific type of "item" for which the URI rewriter is to apply "conversion" a products_id, a category, an ez-page, or a manufacturer. These "items" all have a unique id and that is the associated_db_id.
So depending on your condition/desire, the above example could be entered as:
Uri=/page-2, language=1, current_uri=1, and main_page=page_2
-
1 Attachment(s)
Re: Ceon URI Mapping v4.x
Thank you so much. That worked a treat! The only problem I have now, is when I switch between the languages (Welsh and English in my case) as there isn't an associated_db_id it just goes back to the homepage. This isn't a problem with the product pages etc. Is there a way of rectifying this? Thanks so much for your help.
Attachment 16272
-
Re: Ceon URI Mapping v4.x
See that field for language? Need to look at either of two things (or more) in your admin where you can add/modify languages (localities I think it is?) the language id associated with your other language (more than likely 2) is to be used for the matching url for that language.
The other "source" would be to inspect the ceon_uri_mappings table for the number(s) related to working alternate language product.
Keep in mind in all of this that only one of the potential many uri's with a matching language and other matching fields can be the current_uri... All the others are well... not current. :)
You may also need to add parameters to the definition (force the entered uri to change the site to the other language.)
-
Re: Ceon URI Mapping v4.x
Change required for ZC155.
In ZC155 this section was added in /common/html_header.php.
Quote:
<?php
// BOF hreflang for multilingual sites
if (!isset($lng) || (isset($lng) && !is_object($lng))) {
$lng = new language;
}
reset($lng->catalog_languages);
while (list($key, $value) = each($lng->catalog_languages)) {
if ($value['id'] == $_SESSION['languages_id']) continue;
echo '<link rel="alternate" href="' . ($this_is_home_page ? zen_href_link(FILENAME_DEFAULT, 'language=' . $key, $request_type) : $canonicalLink . '&language=' . $key) . '" hreflang="' . $key . '" />' . "\n";
}
// EOF hreflang for multilingual sites
?>
Ceon URI Mapping produces canonical links with no ?parameters:
Quote:
<link rel="canonical" href="http://blah-blah.....aballetes/rg-padd-front-bk-caballete-delantero" />
so the additional &language needs to be ?language (or it becomes an invalid link that gives page not found).
I did this:
PHP Code:
<?php //steve bof CEON uri mapping
//CEON uri mapping produces a CANONICAL link with no ?parameters so '&language=' gets a page not found: need to change separator
$alternateSeparator = ( !isset($ceon_uri_mapping_canonical_uri) ? '&' : '?' );
?>
<?php
// BOF hreflang for multilingual sites
if (!isset($lng) || (isset($lng) && !is_object($lng))) {
$lng = new language;
}
reset($lng->catalog_languages);
while (list($key, $value) = each($lng->catalog_languages)) {
if ($value['id'] == $_SESSION['languages_id']) continue;
echo '<link rel="alternate" href="' . ($this_is_home_page ? zen_href_link(FILENAME_DEFAULT, 'language=' . $key, $request_type) : $canonicalLink . $alternateSeparator . 'language=' . $key) . '" hreflang="' . $key . '" />' . "\n";//steve changed & for a variable separator
}
// EOF hreflang for multilingual sites
//steve eof CEON uri mapping
?>
-
Re: Ceon URI Mapping v4.x
For people having problems with logins not working and going straight to "Your Shopping cart is Empty" page, especially on a LOCAL server, this thread should be looked at:
https://www.zen-cart.com/showthread....46#post1310146
-
Re: Ceon URI Mapping v4.x
Website www.onlinesurgicals.com/store/ stopped working after upgrade to VPS with Bluehost. I just get a blank page.
The debugging file in cache folder showed the following.
[10-May-2016 22:13:30 America/Denver] PHP Strict Standards: Declaration of CeonURIMappingHandler::_handleHistoricalURIWithNoCurrentMapping() should be compatible with CeonURIMappingHandlerBase::_handleHistoricalURIWithNoCurrentMapping() in /home/hlcindia/public_html/onlinesurgicals/store/includes/classes/class.CeonURIMappingHandler.php on line 41
[10-May-2016 22:13:30 America/Denver] PHP Strict Standards: Declaration of CeonURIMappingHandler::_handleUnmappedURI() should be compatible with CeonURIMappingHandlerBase::_handleUnmappedURI() in /home/hlcindia/public_html/onlinesurgicals/store/includes/classes/class.CeonURIMappingHandler.php on line 41
However the mobile version of site is working fine in mobiles.
.htaccess file has the rewrite rules as per the codes shown in Ceon URI mapping installation check page within Zencart admin.
I am using zencart version 1.3.9h and fortunately, ZC admin interface is working well in both desktop and mobile.
Please help and treat this very urgent as desktop site is getting significant traffic.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
gopinathgoswami
Website stopped working after upgrade to VPS with Bluehost. I just get a blank page.
The debugging file in cache folder showed the following.
[10-May-2016 22:13:30 America/Denver] PHP Strict Standards: Declaration of CeonURIMappingHandler::_handleHistoricalURIWithNoCurrentMapping() should be compatible with CeonURIMappingHandlerBase::_handleHistoricalURIWithNoCurrentMapping() in /home/hlcindia/public_html/onlinesurgicals/store/includes/classes/class.CeonURIMappingHandler.php on line 41
[10-May-2016 22:13:30 America/Denver] PHP Strict Standards: Declaration of CeonURIMappingHandler::_handleUnmappedURI() should be compatible with CeonURIMappingHandlerBase::_handleUnmappedURI() in /home/hlcindia/public_html/onlinesurgicals/store/includes/classes/class.CeonURIMappingHandler.php on line 41
Evidently you PHP is complaining about violation of Strict Standards. That's likely a result of using old PHP code on a newer version of PHP (newer PHP versions are increasingly more strict about clean code).
Your v1.3.9 site is using PHP code written and released in 2010. That's 6 years ago. And lots of PHP versions ago.
So, I guess you have two options:
a) downgrade PHP to an older version compatible with your old site
b) upgrade your site and plugins to be compatible with your newer PHP version
Or if you can find the new maintainers of the Ceon code online you might purchase a support contract from them to have them adjust the code to work for your site.
-
Re: Ceon URI Mapping v4.x
Quote:
So, I guess you have two options:
a) downgrade PHP to an older version compatible with your old site
b) upgrade your site and plugins to be compatible with your newer PHP version
I've just forced this issue and yes, with E_STRICT reporting, when CEON URI has to generate a new uri automatically when someone visits a product with no URI defined, a pile of errors are reported while it generates one (it still works ok).
Fortunately (for you) I am currently fixing stuff like this on my site for PHP7 so I'll look into it.
Your immediate stop-gap solution would be to remove E_STRICT error reporting or downgrade php.
I would guess this has just started since your host upgraded to php 5.4:
http://php.net/manual/en/function.error-reporting.php followed immediately by a site upgrade or you are just hiding the problems and putting off the inevitable.
It's "funny" that no-one ever has time to upgrade their site but somehow they find that time when it breaks. Be prepared.
-
Re: Ceon URI Mapping v4.x
I don't find the same error as you. I have fixed all my E_STRICT error messages related to this mod.
Look in the two files referenced in the first error message for the function declaration.
Quote:
function _handleHistoricalURIWithNoCurrentMapping($main_page, $associated_db_id, $query_string_parameters)
they should be using the same number of parameters. The error message implies they don't. Mine do.
-
Re: Ceon URI Mapping v4.x
This is no longer valid advice. README has no information.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
weljkodj
Lets say the page you want to change is /index.php?main_page=conditions, which represents "Conditions of use" page. In PHPMyAdmin, insert record with this values:
uri -> /conditions
language_id -> type your language_id
current_uri -> 1
main_page -> conditions
query_string_parameters -> NULL
associated_db_id -> NULL
alternate_uri -> NULL
redirection_type_code -> 301
date_added -> select NOW() function next to field
It is the same for all pages: privacy, contact_us, shipppinginfo, advanced_search...
This doesnt appear to work for page_2
-
Re: Ceon URI Mapping v4.x
Tried this and it didnt work. +1 post for me
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mc12345678
I think you're overthinking things. :)
Main_page is the content that follows the url parameter main_page=
So, for /index.php?main_page=page_2, main_page field is page_2. For the associated_db_id, there is no "unique" value that is associated so it should remain blank. This value is used to target a specific type of "item" for which the URI rewriter is to apply "conversion" a products_id, a category, an ez-page, or a manufacturer. These "items" all have a unique id and that is the associated_db_id.
So depending on your condition/desire, the above example could be entered as:
Uri=/page-2, language=1, current_uri=1, and main_page=page_2
Tried this and it didnt work for me. +1 post
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
Tried this and it didnt work for me. +1 post
How about being more descriptive of your attempted solution, the setup of your store, what didn't work, etc...
Here is the entry from a control panel on which the main_page=page_2 was rewritten. The store is located in a web-facing sub-directory called shop the HTTP_CATALOG and HTTPS_CATALOG allow for both to use the equivalent DIR_WS_CATALOG path information for http and https. Entry of the standard ZC path of http: // site /shop/index.php?main_page=page_2 where page_2 is not an ez-page (is instead defined in defined page editor of define_page_2.php) redirects to http: // site /shop/Monthly.
Code:
|
uri |
language_id |
current_uri |
main_page |
query_string_parameters |
associated_db_id |
alternate_uri |
redirection_type_code |
date_added |
---|
|
/shop/Monthly |
1 |
1 |
page_2 |
NULL |
NULL |
NULL |
301 |
2013-06-25 12:08:57 |
-
1 Attachment(s)
Re: Ceon URI Mapping v4.x
Here is a screenshot Attachment 16424
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
For the contact_us to be rewritten, remove main_page=
That field (column) represents the main_page= portion and only needs the value to the right of it up to the & of the next parameter if another parameter were to exist.
Also, if your database will support it, the associated_db_id field should be NULL instead of 0. Though 0 may still work. I forget how that portion of evaluation is written and prior to posting this haven't dug through the code. It is expected though that no such dB field would actually be 0 so I suspect that it will be a non-issue.
-
Re: Ceon URI Mapping v4.x
As I said earlier, "this didnt work for me"/ Maybe your advice will work.
I tried null for dbase number and it added 0.
Also, previous advice suggested using select NOW() for date. all that gives me is 00000000
-
Re: Ceon URI Mapping v4.x
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
As I said earlier, "this didnt work for me"/ Maybe your advice will work.
I tried null for dbase number and it added 0.
Also, previous advice suggested using select NOW() for date. all that gives me is 00000000
The time issue certainly sounds like a mysql database setup issue (host related) or the absence of providing an appropriate date/time command/string (see the table configure settings below), but perhaps one or more of the following would provide a non-zero timestamp if used within a SQL statement:
CURDATE()
CURRENT_TIMESTAMP()
LOCALTIME()
LOCALTIMESTAMP()
SYSDATE()
UNIX_TIMESTAMP()
UTC_TIMESTAMP()
Though some of these only return dates not date and time.
Curious though, NOW() is typically used in ZC for changing settings such as configuration options. Does this mean that all of your configuration settings either show a date/time of when added or when modified as 0000-00-00 or not at all?
As to the null to 0, this appears to be related to the definition of the database table. The install sql declares the associated_db_id field as default null. Was there a problem with installation that required it to be modified? If not, then can you show an image of the area where you are entering your data to try to provide a rewritten uri.
Other question, in the attempts to obtain a functional version of the rewrite is there only one instance where the main_page of contact_us is listed and the active_uri is 1?
Here is the table creation sql for the ceon_uri_mappings table:
[code]CREATE TABLE
`" . TABLE_CEON_URI_MAPPINGS . "`
(
`uri` TEXT NOT NULL,
`language_id` INT(11) UNSIGNED DEFAULT NULL,
`current_uri` INT(1) UNSIGNED DEFAULT '0',
`main_page` VARCHAR(45) NULL,
`query_string_parameters` VARCHAR(255) DEFAULT NULL,
`associated_db_id` INT(11) UNSIGNED DEFAULT NULL,
`alternate_uri` VARCHAR(255) DEFAULT NULL,
`redirection_type_code` VARCHAR(3) DEFAULT '301',
`date_added` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
INDEX `assoc_db_id_idx` (`language_id`, `current_uri`, `main_page`, `associated_db_id`)
);[/url]
Lastly for now, what is your mysql database setup? Is this hosted possibly on a Windows system? Or with database setup preventing integers or unsigned integers from being null? The other fields seemed to get populated with NULL but somehow in the "making" the associated_db_id NULL (which really is or should be done by adding nothing into the field because afterall, NULL is (should be) the default meaning it's automatically that until something else is assigned.
-
Re: Ceon URI Mapping v4.x
So I scanned back thru the last few pages of this thread and could find no reference to the latest zen.
ZC155a was released May 5, 2016 and the last Ceon URI update was March 26. Since I'm about to install Ceon URI into zc155a, I compared the Ceon modified core files to the core files changed between 155 and 155a:
https://www.zen-cart.com/docs/change...5-5.html#v155a
From that list, only one file needs merging:
/admin/includes/functions/general.php
I'm going to merge the Ceon changes into the zc155a, then install.
Is anybody else running the latest Ceon URI on a 155a? Any known problems?
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
Feznizzle
Is anybody else running the latest Ceon URI on a 155a? Any known problems?
I'm using...until now, all looks good!
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
mesnitu
I'm using...until now, all looks good!
Right on, thanks!
-
Re: Ceon URI Mapping v4.x
last line of htaccess index.php is causing my mydomain.com/phpmyadmin/ to show no page found error. If I delete that last line, the phpmyadmin opens right up to login screen.
Should I delete the last line or modify it?
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
last line of htaccess index.php is causing my mydomain.com/phpmyadmin/ to show no page found error. If I delete that last line, the phpmyadmin opens right up to login screen.
Should I delete the last line or modify it?
This will be impossible to answer without knowing the contents of your .htaccess file
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
last line of htaccess index.php is causing my mydomain.com/phpmyadmin/ to show no page found error. If I delete that last line, the phpmyadmin opens right up to login screen.
Should I delete the last line or modify it?
I can't quite see your computer screen from here. Could you turn the brightness up a bit?
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
last line of htaccess index.php is causing my mydomain.com/phpmyadmin/ to show no page found error. If I delete that last line, the phpmyadmin opens right up to login screen.
Should I delete the last line or modify it?
Ultimately, as pointed out, having the htaccess posted helps the most (with the admin directory name obscured), but if I were to guess, the "last line" is the RewriteRule (needed to support the overall process), but in the list of RewriteCond there is not one to omit rewriting your phpmyadmin folder (similar to
Code:
RewriteCond %{REQUEST_URI} !^/phpmyadmin [NC]
) like the other examples in the file.
But that's merely a guess assuming that the store is completely new, no other add-ons installed, no specializations yet made, and that in such a default install there would not be a htaccess file in the root directory at least not to support ZC, therefore to support URI Mapping the applicable commands were inserted as the only content. If all of that is true, then the "last line" theory would be relatively applicable, but even then, dunno...
-
Re: Ceon URI Mapping v4.x
Just the ceon cut and paste generated from admin.
If I manually add the index.php to the end of the url, it works fine.
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
Just the ceon cut and paste generated from admin.
If I manually add the index.php to the end of the url, it works fine.
So does the cut and paste include the foldername of the problem program and is the end of that inclusion have a slash or is it just the foldername like presented above?
Ie is it:
Code:
RewriteCond %{REQUEST_URI} !^/phpmyadmin [NC]
Or like this:
Code:
RewriteCond %{REQUEST_URI} !^/phpmyadmin/ [NC]
-
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
pixelpadre
Just the ceon cut and paste generated from admin
So you are able to cut and paste the content. What a pity you aren't able to paste it into a reply here. That way people might be able to see what the problem is.
-
Re: Ceon URI Mapping v4.x
Sorry been straight out trying to get my virtualmin webpanel running on centos 7. Not fun.
Heres the ceon htaccess contents. Might add.....phpmyadmin was not there last time I ran the ceon in admin....sounds like I need to do that again or simply add the phpmyadmin to the htaccess file. BRB