да можно не выносить, просто функции db_* на mysql_* заменить, не требующие require. Но интересна ж причина .Вынеси функции и попробуй без require
Простейший модуль ЧПУ
#21
Отправлено 10 February 2012 - 02:10 AM
#22
Отправлено 10 February 2012 - 01:27 PM
У меня везде стоит 5.3.*, поставил модуль на сервер с 5.2.17 - тоже не работает.
Для liteseotools автором заявлено, что необходим PHP 5.2.2 и выше.
Механизм работы одинаков, так что и требование, очевидно, одинаково.
На хостинге, где 5.2.17 мне удалось заставить работать модуль. А у себя - нет .
Вечером выложу новую версию и, видимо, правильнее будет использовать не инсталлятор, а описание "ручной" установки.
Желающие могут "новую версию" сделать сами:
1. убрать из cpu.php (или index.php, если он уже переименован) строку
require_once "core/includes/database/".DBMS.".php";
и контекстной заменой заменить все db_ на mysql_ ОБЯЗАТЕЛЬНО с соблюдением регистра, т.к. DB_PRFX заменять не надо.
2. в .htaccess добавить строку
php_value error_reporting E_ALL
чтобы не вываливались на экран PHP Notice
#23
Отправлено 10 February 2012 - 05:42 PM
#25
Отправлено 10 February 2012 - 06:26 PM
пропишите .htaccess следующего вида:Сделал всё по инструкции, начал заходить на сайт (до этого был белый лист), при переходах на категорию и на товар ссылка отображается как надо, но перестало переходить на нужную страницу, постоянно главная.
Options +FollowSymlinks -Indexes -MultiViews DirectoryIndex index.php ErrorDocument 404 /404.html php_value session.use_trans_sid 0 php_value session.use_cookies 1 php_value session.use_only_cookies 1 php_value session.auto_start 0 php_value magic_quotes_gpc 0 php_value register_globals 0 php_value display_errors 1 php_value magic_quotes_runtime 0 php_value allow_url_fopen 1 php_value output_buffering 0 php_value error_reporting E_ALL RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^news\.html$ index.php?news=yes [L] RewriteRule ^feedback\.html$ index.php?feedback=yes [L] RewriteRule ^price\.html$ index.php?show_price=yes [L] RewriteRule ^cart\.html$ index.php?shopping_cart=yes [L] RewriteRule ^wide_search\.html$ index.php?search_with_change_category_ability=yes [L] RewriteRule ^compare\.html$ index.php?comparison_products=yes [L] RewriteRule ^(.*)$ index.php?cpu=/$1 [L,QSA]
---------- Сообщение объединено ----------
Этот .htaccess для дефолтовой конфигурации. Если добавляемый модуль требует вставки своего RewriteRule (например, модуль "Статьи") - вставляемые RewriteRule должны быть выше, чем строка RewriteRule ^(.*)$ index.php?cpu=/$1 [L,QSA]
#26
Отправлено 10 February 2012 - 07:56 PM
но в результате вообще на сайт не заходит ошибка 500.
прописал .htaccess как порекомендовали, всё тоже
в чём может быть проблема?
#27
Отправлено 10 February 2012 - 08:08 PM
Похоже, Вы пользовали старый (позавчерашний) инсталлятор. Скачайте новую версию, там будут другие сообщения. Или дождитесь, пока я выложу просто инструкцию по "ручной" инсталляции.написал что всё ок
#28
Отправлено 10 February 2012 - 08:11 PM
а то у меня заработало но наполовину, слетели стили, картинок не видать, только текст, и в админку не заходит..
#29
Отправлено 10 February 2012 - 08:22 PM
Можно. И легко. Только я ведь не знаю, какие действия инсталлятора у Вас выполнились, а какие - нет. Если бы выполнились все, то, предположительно, все бы работало.а деинсталировать его можно как-то ? ))
а то у меня заработало но наполовину, слетели стили, картинок не видать, только текст, и в админку не заходит..
Если все выполнилось "по полной", но не работает, то надо .htaccess.bak переименовать обратно в .htaccess, а index_old.php обратно в index.php. Все. По хорошему, надо бы еще удалить таблицу ????_cpu_table, но ее наличие ничему не мешает.
PS. Я сталкивался с такой ситуацией (только текст, все картинки с крестиками), когда писал и отлаживал модуль, но сейчас уже не помню, с чем это было связано. С кэшем, чтоли. Надо было его удалить. Но это написано в ридми, т.е. Вы наверняка это делали .
О! Вот! Пора привыкать задавать вопрос КАКАЯ ВЕРСИЯ PHP?
---------- Сообщение объединено ----------
Тук-тук! Я очень жду Вашего ответа, помогло ли .но перестало переходить на нужную страницу, постоянно главная
#30
Отправлено 10 February 2012 - 08:47 PM
#Options +FollowSymlinks -Indexes -MultiViews
Options +FollowSymlinks -Indexes
DirectoryIndex index.php
ErrorDocument 404 /404.html
php_value session.use_trans_sid 0
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.auto_start 0
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value display_errors 1
php_value magic_quotes_runtime 0
php_value allow_url_fopen 1
php_value output_buffering 0
php_value error_reporting E_ALL
RewriteEngine on
RewriteRule ^stati/([^/]+).html$ index.php?fullarticles=$1 [L]
RewriteRule ^stati/([0-9]+)/$ index.php?articles=yes&offset=$1 [L]
RewriteRule ^stati/$ index.php?articles=yes [L]
RewriteRule ^sitemap\.xml$ /xml_sitemap.php [L]
RewriteRule ^news\.html$ index.php?news=yes [L]
RewriteRule ^feedback\.html$ index.php?feedback=yes [L]
RewriteRule ^price\.html$ index.php?show_price=yes [L]
RewriteRule ^cart\.html$ index.php?shopping_cart=yes [L]
RewriteRule ^wide_search\.html$ index.php?search_with_change_category_ability=yes [L]
RewriteRule ^compare\.html$ index.php?comparison_products=yes [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?cpu=/$1 [L,QSA]
#31
Отправлено 10 February 2012 - 09:12 PM
Кеш удаляли? Все файлы, которые есть в каталоге /core/сache?Поменял .htaccess на этот и всё-равно не переходит, остаётся всё время на главной.
PS. Собственно, хуле я тут распинаюсь?
Дайте доступ к сайту. Опыт вашего коллеги показал, что понадобилось не полчаса, но вполне приемлемое время, меньше суток, чтобы мне понять, в чем проблема, а ему получить работающий модуль.
#32
Отправлено 10 February 2012 - 09:15 PM
# ver.1.02
require_once "core/config/connect.inc.php";
define('CATEGORY_PATTERN','/\\/?category_(?[0-9]+)((_offset_(? [0-9]+))|(? _show_all))?\\.html/');
define('PRODUCT_PATTERN' ,'/\\/?product_(?[0-9]+)\\.html/');
define('PAGE_PATTERN' ,'/\\/?page_(?[0-9]+)\\.html/');
define('NEWS_PATTERN' ,'/\\/?show_news_(?[0-9]+)\\.html/');
mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS);
mysql_select_db(MYSQL_NAME);
replace_from_cpu();
ob_start();
require_once 'index_old.php';
while (ob_get_level() > 1)
ob_end_flush();
$content = ob_get_contents();
ob_end_clean();
echo replace_to_cpu($content);
function replace_from_cpu()
{
if($row = mysql_fetch_assoc(mysql_query("SELECT cpu_from from ".DB_PRFX."cpu_table where cpu_to='".$_GET['cpu']."'")))
switch(substr($row['cpu_from'],0,strpos($row['cpu_from'],"_")))
{
case "category":
preg_match(CATEGORY_PATTERN,$row['cpu_from'],$matches);
$_GET['categoryID'] = $matches['category'];
if (intval($matches['offset'])>0)
$_GET['offset'] = $matches['offset'];
elseif ($matches['showall'])
$_GET['show_all']=true;
break;
case "product":
preg_match(PRODUCT_PATTERN,$row['cpu_from'],$matches);
$_GET['productID'] = $matches['product'];
break;
case "page":
preg_match(PAGE_PATTERN,$row['cpu_from'],$matches);
$_GET['show_aux_page'] = $matches['page'];
break;
case "show":
preg_match(NEWS_PATTERN,$row['cpu_from'],$matches);
$_GET['fullnews'] = $matches['news'];
break;
}
}
function replace_to_cpu($content)
{
function category_replacer($matches)
{
if ($row = mysql_fetch_assoc(mysql_query("SELECT name from ".DB_PRFX."categories where categoryID=".$matches['category']."")))
{
$to="/".translit($row['name']);
if (intval($matches['offset'])>0)
$to.="/skip".$matches['offset'];
elseif ($matches['showall'])
$to.="/all";
mysql_query("REPLACE INTO ".DB_PRFX."cpu_table SET cpu_from='$matches[0]', cpu_to='$to'");
return $to;
}
else return $matches[0];
}
function products_replacer($matches)
{
if ($row = mysql_fetch_assoc(mysql_query("SELECT name from ".DB_PRFX."products where productID=".$matches['product']."")))
{
$to="/".translit($row['name']);
mysql_query("REPLACE INTO ".DB_PRFX."cpu_table SET cpu_from='$matches[0]', cpu_to='$to'");
return $to;
}
else return $matches[0];
}
function page_replacer($matches)
{
if ($row = mysql_fetch_assoc(mysql_query("SELECT aux_page_name from ".DB_PRFX."aux_pages where aux_page_ID=".$matches['page']."")))
{
$to="/".translit($row['aux_page_name']);
mysql_query("REPLACE INTO ".DB_PRFX."cpu_table SET cpu_from='$matches[0]', cpu_to='$to'");
return $to;
}
else return $matches[0];
}
function news_replacer($matches)
{
if ($row = mysql_fetch_assoc(mysql_query("SELECT title from ".DB_PRFX."news_table where NID=".$matches['news']."")))
{
$to="/".translit($row['title']);
mysql_query("REPLACE INTO ".DB_PRFX."cpu_table SET cpu_from='$matches[0]', cpu_to='$to'");
return $to;
}
else return $matches[0];
}
$content = preg_replace_callback(CATEGORY_PATTERN,"category_replacer",$content);
$content = preg_replace_callback(PRODUCT_PATTERN,"products_replacer",$content);
$content = preg_replace_callback(PAGE_PATTERN,"page_replacer",$content);
$content = preg_replace_callback(NEWS_PATTERN,"news_replacer",$content);
$replace = array(
"'data/" => "'/data/",
'"data/' => '"/data/',
'href="stati/' => 'href="/stati/',
"='index.php" => "='/index.php",
'="index.php' => '="/index.php',
'="admin.php?' => '="/admin.php?',
'"price.html' => '"/price.html',
'"cart.html' => '"/cart.html',
'"feedback.html' => '"/feedback.html',
'href="stati/' => 'href="/stati/'
);
return strtr($content,$replace);
}
function translit($str)
{
$tr = array(
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g","Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i","Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t","У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch","Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j","з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h","ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya"," "=> "_","."=> "",","=> "","/"=> "_","’"=> "","°"=> "","+"=> "_");
return strtr($str,$tr);
}
?>
#33
Отправлено 10 February 2012 - 09:22 PM
даже смотреть не буду. Модуль, уж извините, бесплатный. Давайте доступ к сайту и я вживую посмотрю, в чем проблема. А копаться косвенно по исходникам - правильно или не правильно была заменена тильда в стосороковосьмой строке - ну его нах. У меня таки не 25 часов в сутках .Вот мой index.php, может там что не так исправил
PS. Замечу, что Вашему коллеге, предоставившему мне хостинг это помогло. Причина проблемы была найдена очень быстро, вечер-утро. PHP-то какой? А то, может, у Вас там дефолтовый для Centos 5.1.16, т.е. и говорить-то не о чем .
#34
Отправлено 10 February 2012 - 09:32 PM
только теперь старые ссылки уже не работают, открывается главная, вообще что угодно можно написать после site.ru открывает главную.
#35
Отправлено 10 February 2012 - 09:41 PM
---------- Сообщение объединено ----------
У меня так же, хотя был момент когда можно было перейти по старым ссылкам и они отображались корректно.разобрался всё работает, и даже при том что у меня на хостинге PHP5 5.2.14
только теперь старые ссылки уже не работают, открывается главная, вообще что угодно можно написать после site.ru открывает главную.
#36
Отправлено 10 February 2012 - 09:44 PM
И что же тогда подразумевается под "все работает"?только теперь старые ссылки уже не работают
#37
Отправлено 10 February 2012 - 09:51 PM
но когда вводишь вручную ссылку типа site.ru/category_1.html выдаёт главную страницу.
так и должно или должен быть редирект на новую ссылку?
#38
Отправлено 10 February 2012 - 09:59 PM
Хм... А толку мне от имени Вашего домена?PHP Version 5.2.17, сайт отправил в личку.
Что есть проблемы я и так верю.
Версия PHP это только подтверждает.
Давайте хотя бы FTP-доступ к сайту и я попробую поиграться. Может, получится. А может и нет.
Подчеркиваю, что автор более сложного прообраза - liteseotools - четко мне написал, что модуль работает начиная с 5.2.2? (не помню уже, писал выше).
Мой модуль построен на той же идее и на тех же функциях, просто упрощен до минимума - ни классов, ни редактора, ничего. Один файлик.
У человека, предоставившего мне хостинг удалось запустить модуль на 5.2.17. Никакого волшебства, рецепты я описал.
Но предполагается (и есть тому причины), что на 5.2.17 в общем случае модуль не работает.
Является ли Ваш случай "общим" я могу узнать только получив возможность самолично поиграться с вашим сайтом.
---------- Сообщение объединено ----------
Так и должно быть. Теперь Ваше /category_1.html ничем не отличается от /bla-bla-blа.но когда вводишь вручную ссылку типа site.ru/category_1.html выдаёт главную страницу.
так и должно или должен быть редирект на новую ссылку?
Но мысль Вы зародили весьма интересную, хм....
PS. И, главное, весьма ж не сложно реализуемую на первый вгляд....
#39
Отправлено 10 February 2012 - 10:03 PM
а то так получается все проиндексированные ссылки сейчас не будут работать, т.е. будут главную выдавать..
#40
Отправлено 10 February 2012 - 10:08 PM
Было бы здорово, если бы Вы подтверждали свои слова исходником. Или хотя бы примером каким. Я не говорю ни да, ни нет, но не помню такого в liteseotools. Хотя восстанавливал его до нормального текста и, естественно, довольно глубоко изучал логику работы. Но не всю, да, только требуемое для получения обычного нешифрованного PHP без ioncube.в liteseotools есть редирект со старых ссылок на новые