zencart1.3用friendly URL
①
/includes/functions/html_output.php
$link .= 'index.php?main_page='. $page . "&" . zen_output_string($parameters);
} else {
$link .= 'index.php?main_page=' . $page;
}
上記4行を
-----------------------------------------------------
if ((USER_FRIENDLY_URLS_REWRITE == 'true') &&
(!ereg('language', $parameters)) &&
(!ereg('manufacturers_id', $parameters)) &&
(!ereg('contact_us', $page)) &&
(!ereg('review', $page)) &&
(!ereg('review', $parameters))
) {
$parameters = str_replace('&sort=', '/sort', $parameters);
$parameters = str_replace('&page=', '/page', $parameters);
$parameters = str_replace('&filter_id=', '/filter', $parameters);
$parameters = str_replace('disp_order=', 'display', $parameters);
if (($page == "index") && (ereg('cPath', $parameters))){
$cnum = str_replace('cPath=', 'cid', $parameters);
$parameters = str_replace("cPath=", "categories/", $parameters);
$link .= $parameters . '.html';
require("url_data.php");
if ($urlrpl[$cnum] != NULL) {
$link = ereg_replace("categories/[0-9_]{1,}", "categories/$urlrpl[$cnum]", $link);
}
}
elseif (($page == "product_info") && (ereg('products_id', $parameters))){
$pnum = str_replace('products_id=', 'pid', $parameters);
$pnum = ereg_replace('cPath=[0-9_]{1,}&', '', $pnum);
$parameters = str_replace("products_id=", "products/", $parameters);
$parameters = ereg_replace('cPath=([0-9_]{1,})&', '', $parameters);
$parameters = str_replace('action=notify&','notify', $parameters);
$parameters = str_replace('action=add_product&','add', $parameters);
$parameters = str_replace('&reviews_id=','review/', $parameters);
$parameters = str_replace('&action=notify_remove','notify_remove', $parameters);
$parameters = str_replace('&action=notify','notify', $parameters);
$link .= $parameters . '.html';
require("url_data.php");
if ($urlrpl[$pnum] != NULL) {
$link = ereg_replace("products/[0-9]{1,}", "products/$urlrpl[$pnum]", $link);
}
}
elseif ($page == 'redirect') {
if (ereg('banner', $parameters)){
$parameters = str_replace('action=banner&goto=', 'redirect_banner', $parameters);
$link .= $parameters . '.html';
}
if (ereg('url', $parameters)){
$parameters = str_replace('action=url&goto=', 'redirect_url-', $parameters);
$link = $parameters;
}
}
elseif ($page == 'tell_a_friend') {
$parameters = str_replace('to_email_address=','/to_', $parameters);
$parameters = str_replace('products_id=','/products', $parameters);
$parameters = str_replace('action=process&','/send', $parameters);
$link .= $page . $parameters . '.html';
}
elseif (
($page == "products_all") or
($page == "products_new") or
($page == "featured_products") or
($page == "specials)")
){
$link .= $page ."/" . $parameters . '.html';
} else {
$link .= 'index.php?main_page='. $page . "&" . zen_output_string($parameters);
}
} else {
$link .= 'index.php?main_page='. $page . "&" . zen_output_string($parameters);
}
} else {
if (USER_FRIENDLY_URLS_REWRITE == 'true') {
if (
($page == 'login') or
($page == 'advanced_search') or
($page == 'specials') or
($page == 'featured_products') or
($page == 'products_new') or
($page == 'products_all') or
($page == 'shippinginfo') or
($page == 'privacy') or
($page == 'conditions') or
($page == 'contact_us') or
($page == 'gv_faq') or
($page == 'site_map') or
($page == 'logoff') or
($page == 'account') or
($page == 'shopping_cart') or
($page == 'popup_shipping_estimator') or
($page == 'news_manager_all_news') or
($page == 'unsubscribe') or
($page == 'reviews') or
($page == 'checkout_shipping')
){
$link .= $page . ".html";
} else {
$link .= 'index.php?main_page=' . $page;
}
} else {
$link .= 'index.php?main_page=' . $page;
}
}
-----------------------------------
書き換えする。
②.htaccessでrewriteを設定する。
③ルートにurl_data.phpを設置する。
----------------------
<?php
$urlrpl = array(
"cid1" => "Hardware", <- cidはカテゴリID
"cid1_4" => "Graphics_Cards",
"cid1_8" => "Keyboards",
"cid1_9" => "Mice",
"pid1" => "Matrox_G200_MMS", >- pidは商品ID
"pid25" => "Microsoft_Internet_Keyboard_PS2",
"pid26" => "Microsoft_IntelliMouse_Explorer"
);
?>
----------------------
④/includes/configure.phpの最終行に下記の一行文を追加。
-----------------------
define('USER_FRIENDLY_URLS_REWRITE', 'true');
-----------------------
ドロップダウンは、不明。