Форум -> News (модуль и блок) -> Нужно подправить URL в Slaed 2.5 |
Нужно подправить URL в Slaed 2.5 |
---|
otherside | Дата: 07.01.2010, в 21:53 | Сообщение №1 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Есть у меня сайтик, лента новостей. Сайт этот в сети с 2006 года, базируется он на Slaed 2.0 И вот сегодня я созрел перенсти его на Slaed 2.5 Удачно конвертировал базу с новостями. Но есть одна загвоздочка. Так как сайт в инете уже почти четыре года, яша проиндексировал более 20 К страниц. И ссылки на Slaed 2.0 Выглядят вот так:
index.php?name=News&file=article&sid=3156.
А в Slaed 2.5 вот так:
index.php?name=News&op=article&sid=3156
Подскажите, где копать, чтобы в Slaed 2.5 Ссылки выглядели бы так же, как и в Slaed 2.0, то есть вместо News&op=article было бы так News&file=article
Большое спасибо! |
|
|
Serg_pnz | Дата: 08.01.2010, в 09:16 | Сообщение №2 |
  АдминистраторПользователь №: 1 Сообщений: 2243
 | ЧПУ включен? В модреврайте сменишь News&op=article на News&file=article
А htaccess сменишь назад. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
otherside | Дата: 08.01.2010, в 15:35 | Сообщение №3 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Serg_pnz, сделал именно так, на первый взгляд все хорошоссылкина всем сайте поменялись и стали выглядеть так: /index.php?name=News&file=article&sid=3156 Но когда на них кликаешь, сразу же перекидываеть на index.php
Кажется мне, сто причина в файле index.php который в корне сайта лежит |
|
|
Serg_pnz | Дата: 08.01.2010, в 17:23 | Сообщение №4 |
  АдминистраторПользователь №: 1 Сообщений: 2243
 | 1. В htaccess изменения внес?
2. В принципе должно прокатить, что внести в самый главный индекс в самый верх такое:
if (isset($_GET['file']) || isset($_POST['file'])) {
$op = trim(isset($_POST['file']) ? $_POST['file'] : $_GET['file']);
} | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
otherside | Дата: 08.01.2010, в 17:29 | Сообщение №5 |
  СтарожилПользователь №: 22 Сообщений: 387
 | да, в htaccess все прописал. Ща попробую внести изменения |
|
|
otherside | Дата: 08.01.2010, в 17:40 | Сообщение №6 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Итак, что то не получается. ВОт что прописано в htaccess:
Код | 1
| RewriteRule ^index.php?name=News&file=article&sid=([0-9]*)$ index.php?name=News&op=article&sid=$1 [NC] |
Вот что прописано в Код | 1
| if (!defined("FUNC_FILE")) die("Illegal File Access");
$rewrite_out = array(
// Новости
"index.php?name=News&file=article&sid=\\1",
);
$rewrite_in = array(
// Новости
"'(?<!/)index.php\?name=News&op=article&sid=([0-9]*)'",
); |
Вот верхушка самого главного index.php
Код | 1
| define('MODULE_FILE', true);
$mtime = explode(" ", microtime());
$start_time = $mtime[1] + $mtime[0];
require_once("function/function.php");
get_lang();
if (isset($_GET['file']) || isset($_POST['file'])) {
$op = trim(isset($_POST['file']) ? $_POST['file'] : $_GET['file']);
}
if (!isset($_REQUEST['op'])) $op = "";
if (isset($_GET['file']) || isset($_POST['file'])) {
$file = trim(isset($_POST['file']) ? $_POST['file'] : $_GET['file']);
if (preg_match("/[^a-zA-Z0-9_]/", $file)) {
Header("Location: index.php");
exit;
}
} else {
$file = "index";
}
if (isset($_GET['name']) || isset($_POST['name'])) {
$name = trim(isset($_POST['name']) ? $_POST['name'] : $_GET['name']);
if (preg_match("/[^a-zA-Z0-9_]/", $name)) {
Header("Location: index.php");
exit;
} |
Наверное я где то накосячил |
|
|
otherside | Дата: 08.01.2010, в 18:18 | Сообщение №7 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Все, работает. В итоге, верхушка главного index.php выглядет вот так:
Код | 1
| define('MODULE_FILE', true);
$mtime = explode(" ", microtime());
$start_time = $mtime[1] + $mtime[0];
require_once("function/function.php");
get_lang();
if (isset($_GET['file']) || isset($_POST['file'])) {
$op = trim(isset($_POST['file']) ? $_POST['file'] : $_GET['file']);
}
$file = "index";
if (isset($_GET['name']) || isset($_POST['name'])) {
$name = trim(isset($_POST['name']) ? $_POST['name'] : $_GET['name']);
if (preg_match("/[^a-zA-Z0-9_]/", $name)) {
Header("Location: index.php");
exit;
} |
|
|
|
otherside | Дата: 08.01.2010, в 19:54 | Сообщение №8 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Но вот появилось еще одно НО. Еще нужно преобразовать ссылки.
Нужно чтобы ссылки вида
index.php?name=News&op=printpage&sid=3156 превратились бы в такие:
index.php?name=News&file=print&op=PrintPage&sid=3156
Так же, чтоб ссылки вида
index.php?name=News&op=friendsend&sid=3156 превратились бы в такие:
index.php?name=News&file=friend&op=FriendSend&sid=3156
Сейчас, после внесенных изменений не получается такого сделать. То есть ссылки на сайте меняются, кликаю на ней, в адресной строке стоит именно то что нужно http://www.****.ru/index.php?name=News&file=print&op=PrintPage&sid=3156, а отображается главная страница |
|
|
Serg_pnz | Дата: 09.01.2010, в 09:50 | Сообщение №9 |
  АдминистраторПользователь №: 1 Сообщений: 2243
 | Да там где вносил изменения в индексе, просто переопределяй GET, не забывая удалять то, что пришло.
Я бы писал так, отдельно для пост и гет:
Код | 1
| if (isset($_GET['file'])) {
$_GET['op'] = $_GET['file']);
unset($_GET['file']);
} |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 09.01.2010 г. в 09:54:45 | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
otherside | Дата: 09.01.2010, в 12:13 | Сообщение №10 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Что то кроме пятисотой ошибки пока ничего не получается добиться этими строками. Продолжаю пробовать. |
|
|
otherside | Дата: 09.01.2010, в 19:50 | Сообщение №11 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Нет, ничего не получается. все время либо ошибка 500, либо просто белый экран. Не могу понять как воспользоваться последней подсказкой. |
|
|
Serg_pnz | Дата: 09.01.2010, в 20:29 | Сообщение №12 |
  АдминистраторПользователь №: 1 Сообщений: 2243
 | otherside, терзают меня сомнения, что индекс можно и не трогать, обойдясь только htaccess | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
otherside | Дата: 09.01.2010, в 20:55 | Сообщение №13 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Serg_pnz, ну вот ссылка на тестовый сайт Скрытый текст | Скрытый текст виден только зарегистрированным пользователям. |
Ща открою его от профилактики, сам посмотри. Это без изменений в index.php
Вот так прописано в .htaccess
Код | 1
| RewriteRule ^index.php?name=News&file=print&op=PrintPage&sid=([0-9]*)$ index.php?name=News&op=printpage&sid=$1 [NC] |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно otherside 09.01.2010 г. в 21:00:24 |
|
|
Serg_pnz | Дата: 09.01.2010, в 22:50 | Сообщение №14 |
  АдминистраторПользователь №: 1 Сообщений: 2243
 | Да что мне ссылка на сайт, надо код смотреть.
Прикрепи индекс сайта и модуль целиком или пришли мне на почту. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
otherside | Дата: 09.01.2010, в 23:08 | Сообщение №15 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Serg_pnz, КИнул письмо на спам@твойсайт.нет |
|
|
Serg_pnz | Дата: 09.01.2010, в 23:34 | Сообщение №16 |
  АдминистраторПользователь №: 1 Сообщений: 2243
 | поправил | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
otherside | Дата: 09.01.2010, в 23:40 | Сообщение №17 |
  СтарожилПользователь №: 22 Сообщений: 387
 | Ога, вижу. Большое спасибо. Скажи, что именно и где сделал, на будущее так сказать. Мне еще ща нужно будет сделать index.php?name=News&op=friendsend&sid=3156 превратились бы в такие:
index.php?name=News&file=friend&op=FriendSend&sid=3156
UPD/ Все, вроде увидел. Еще раз спасибо!
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно otherside 09.01.2010 г. в 23:44:55 |
|
|
|
Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|