cotonti.com : Mod Rewrite https://www.cotonti.com Останні повідомлення в темі Cotonti en Tue, 13 Jan 2026 16:20:55 -0000 Trustmaster Сб, 06 Лис 2010 02:19:57 -0000 Spy Сб, 06 Лис 2010 01:19:28 -0000 Nafanya # Trustmaster : Попробуй заэкранировать:
^([^/&?#]+)/([a-zA-Z0-9\-\_]+)$
Спасибо. Так помогло. Я до этого пробовал заэкранировать, но не так написал, по этому не получалось. Ещё раз спасибо.]]>
Пт, 24 Вер 2010 19:49:17 -0000
Trustmaster
^([^/&?#]+)/([a-zA-Z0-9\-\_]+)$
]]>
Пт, 24 Вер 2010 19:24:44 -0000
Nafanya d Rewrite от Killer, всё хорошо проблем нет. Хочу перевести на новый хостинг best-hoster, Так все перенес, но сайт не поднимается. В логах ошибка:
RewriteRule: cannot compile regular expression '^([^/&?#]+)/([a-zA-Z0-9-_]+)$'\n
как с этим боротся?

Добавлено 14 часов 30 Минут спустя:

Опытным путём выяснил, что Apache выпадает в ошибку 500 именно из за символа "_" в выражение [a-zA-Z0-9-_]+), если его убрать тогда всё начинает работать, Но есть одно большое но, тогда не работают алиасы страниц в которых присутствует "_". Подскажите можно это как то исправить.]]>
Пт, 24 Вер 2010 02:13:46 -0000
Trustmaster
  • 80% пользователей хотят от ссылок примерно один и тот же функционал, который частично реализован на этом сайте и в статье Kilandor'а.
  • Из оставшихся 20% большинство хотят такой формат, который у них уже есть, чтобы не терять индекс.
  • Поэтому есть смысл проработать хорошенько один общепринятый человекопонятный формат ссылок и снабдить его необходимыми компонентами "из коробки".
  • Возможно, для этого потребуется сделать древовидную "структуру" универсальной, а строковые пути в ней однозначно разрешимыми (это технические тонкости дела).
  • Переделывать текущую систему ЧПУ под корень нецелесообразно. Так же нецелесообразно менять её на новомодный "рутинг" а-ля Ruby on Rails
  • В коробке будет два варианта: без ЧПУ и популярный ЧПУ. Гуру, как и раньше, могут создавать свои пресеты.
  • Веб-интерфейс имеет низкий приоритет, но пока совсем от него не отказываемся.
]]>
Вт, 20 Лип 2010 22:06:21 -0000
Kort Вт, 20 Лип 2010 17:12:03 -0000 Killer Вт, 20 Лип 2010 16:09:32 -0000 Sergeich Вт, 20 Лип 2010 04:25:54 -0000 Alex300 Вт, 20 Лип 2010 04:12:49 -0000 Sergeich
Добавлено 10 Минут спустя:

О, кстати, Spy интересный момент отметил, как такое забороть? поисковики могут обидеться на такие чудеса умножения кол-ва страниц, да и не только поисковики.
урл страницы:
http://www.cotonti.com/news/community/1

http://www.cotonti.com/news/fucking-shit/1
http://www.cotonti.com/downloads/piece/of/shit/1
это плохо
]]>
Вт, 20 Лип 2010 03:28:17 -0000
Trustmaster при таком варианте страницы с алиасом открываются нормально, страницы с ID - ошибка 950. Если посмотреть на правила .htaccess, то сразу понятно почему - правила одинаковые и он перебрасывает страницы с id на таковые с алиасом, например page.php?al=123 вместо page.php?id=123. Тут встроенный редактор не справился, потому что он не знает об ограничениях типов данных в атрибутах, так что придётся подправить вручную:
# Rewrite engine options
Options FollowSymLinks -Indexes
RewriteEngine On
# Server-relative path to seditio:
RewriteBase "/"
RewriteRule ^(datas|images|js|skins)/(.*)$ $1/$2 [QSA,NC,NE,L]
RewriteRule ^page/([0-9]+)(.*)$ page.php?id=$1$2 [QSA,NC,NE,L]
RewriteRule ^page/([^/&?#]+)(.*)$ page.php?al=$1$2 [QSA,NC,NE,L]
Строчка с id должна проверяться раньше, иначе жадные алиасы её съедят.]]>
Пн, 19 Лип 2010 13:33:27 -0000
Sergeich # Trustmaster : 950 ошибка странная, возникает обычно при отправке формы. А в .htaccess что?
Траст, всё создаётся стандартными средствами движка, на голом движке 069 вообще без модификаций, по инструкции с этого сайта http://www.cotonti.com/docs/en/admin/url_modification. Вот что в urltrans.dat
page	al=*	{$_area}/{$al}
page	id=*	{$_area}/{$id}
*	*	{$_area}.php
в .htaccess
# Rewrite engine options
Options FollowSymLinks -Indexes
RewriteEngine On
# Server-relative path to seditio:
RewriteBase "/"
RewriteRule ^(datas|images|js|skins)/(.*)$ $1/$2 [QSA,NC,NE,L]
RewriteRule ^page/([^/&?#]+)(.*)$ page.php?al=$1$2 [QSA,NC,NE,L]
RewriteRule ^page/([^/&?#]+)(.*)$ page.php?id=$1$2 [QSA,NC,NE,L]
при таком варианте страницы с алиасом открываются нормально, страницы с ID - ошибка 950. Редактирование работает нормально, но при создании страницы (после нажатия кнопки отправить)- ошибка 950, при этом страница создаётся.

Киллер, попробовал твой вариант, страницы открываются, но при попытке создать новую страницу (при нажатии на ссылку "создать страницу")- ошибка 950, редактирование работает нормально.

если что, хостер http://www.komtet.ru/, phpinfo - http://cotonti.pereslavl.me/info.php]]>
Пн, 19 Лип 2010 08:22:38 -0000
Killer .htaccess
RewriteRule ^([^/&?#]+)/([0-9]+)$ page.php?id=$2 [QSA,NC,NE,L]
RewriteRule ^([^/&?#]+)/([a-z-]+)/([0-9]+)$ page.php?id=$3 [QSA,NC,NE,L]
RewriteRule ^([^/&?#]+)/([a-z-]+)/([a-z-]+)/([a0-9]+)$ page.php?id=$4 [QSA,NC,NE,L]
RewriteRule ^([^/&?#]+)/([a-zA-Z0-9-_]+)$ page.php?al=$2 [QSA,NC,NE,L]
RewriteRule ^([^/&?#]+)/([a-z-]+)/([a-zA-Z0-9-_]+)$ page.php?al=$3 [QSA,NC,NE,L]
RewriteRule ^([^/&?#]+)/([a-z-]+)/([a-z-]+)/([a-zA-Z0-9-_]+)$ page.php?al=$4 [QSA,NC,NE,L]
]]>
Пн, 19 Лип 2010 04:05:26 -0000
Trustmaster Пн, 19 Лип 2010 02:47:27 -0000 Sergeich
Добавлено 23 Минуты спустя:

Блин, запустил на котонти плагин ЧПУ от седитио, всё нормально работает. Почему же родной котовский модреврайт не желает заводиться?]]>
Нд, 18 Лип 2010 21:53:26 -0000
Killer В urltrans.dat
page * {page_url_structure()}

В functions.custom.php
function page_url_structure(&$args)
{
	global $sed_cat, $pag, $row, $rpagecat, $c, $newpagecat;

	if(stristr('docs-', $pag['page_cat']) || stristr('docs-', $row['page_cat']) || stristr('docs-', $rpagecat))
	{
		$page_cat = (!empty($rpagecat) && empty($page_cat)) ? $rpagecat : $page_cat;
		$page_cat = (!empty($pag['page_cat']) && empty($page_cat)) ? $pag['page_cat'] : $page_cat;
		$page_cat = (!empty($row['page_cat']) && empty($page_cat)) ? $row['page_cat'] : $page_cat;
		//$page_cat = (!empty($args['c']) && empty($page_cat)) ? $args['c'] : $page_cat;
		$page_cat = (!empty($newpagecat) && empty($page_cat)) ? $newpagecat : $page_cat;
	}
	else
	{
		$page_cat = (!empty($sed_cat[$rpagecat]['path']) && empty($page_cat)) ? $sed_cat[$rpagecat]['path'] : $page_cat;
		$page_cat = (!empty($sed_cat[$pag['page_cat']]['path']) && empty($page_cat)) ? $sed_cat[$pag['page_cat']]['path'] : $page_cat;
		$page_cat = (!empty($sed_cat[$row['page_cat']]['path']) && empty($page_cat)) ? $sed_cat[$row['page_cat']]['path'] : $page_cat;
		//$page_cat = (!empty($sed_cat[$args['c']]['path']) && empty($page_cat)) ? $sed_cat[$args['c']]['path'] : $page_cat;
		$page_cat = (!empty($sed_cat[$newpagecat]['path']) && empty($page_cat)) ? $sed_cat[$newpagecat]['path'] : $page_cat;
	}

	if (empty($page_cat)) $page_cat = 'articles';
	if($args['id'])
	{
		$url = (stristr('docs-', $page_cat)) ? str_replace('-', '/', $page_cat).'/' : str_replace('.', '/', $page_cat).'/';
		$url .= $args['id'];
		unset($args['id']);
	}
	elseif($args['al'])
	{
		$url = (stristr('docs-', $page_cat)) ? str_replace('-', '/', $page_cat).'/' : str_replace('.', '/', $page_cat).'/';
		$url .= urlencode($args['al']);
		unset($args['al']);
	}
	elseif($args['m'] == 'add')
	{
		$args['c'] = (!empty($args['c'])) ? $args['c'] : $c;
		$url = (stristr('docs-', $args['c'])) ? str_replace('-', '/', $args['c']).'/' : str_replace('.', '/', $sed_cat[$args['c']]['path']).'/';
		$url .= 'add';
		unset($args['c'], $args['m']);
	}
	return $url;
}
]]>
Нд, 18 Лип 2010 16:37:10 -0000
Sergeich
Модули                    Параметры                                      Формат
 page                           id=*                                        page/{$id}.shtml
 page                           al=*                                        page/{$al}.html
Всё что надо и где надо прописывается, а страницы не открываются, пишет ошибку msg=950. Я уже не знаю что тут может не работать. Модреврайт точно включен, в соседней папке нормально работает ЧПУ для седитио. На локалке вроде бы работает (хотя сложный вариант как-то замороченно), на другом хостинге простой вариант ЧПУ в котонти работает, сложный нет. Я удручён.]]>
Нд, 18 Лип 2010 13:05:09 -0000
Chiaroscuro Thu, 15 Лип 2010 22:00:51 -0000 Dayver cotonti.com/docs/en/admin/url_modification нет правил для плуга тегов ... хочу поделится своим решением если кому пригодится

1. в urltrans.dat
plug	e=tags&a=*	{tags_url()}

2. в functions.custom.php
function tags_url(&$args, &$spec)
{
	$url = $args['e'].'/'.$args['a'].'/'.urlencode($args['t']);
	unset($args['e']);
	unset($args['a']);
	unset($args['t']);

	return $url;
}

3. в .htaccess
RewriteRule ^tags/(all|pages|forums)/([^?]+)$ plug.php?e=tags&a=$1&t=$2 [QSA,NC,NE,L]

Решение работает тут crypto.net.ua. Можно и иначе реализовать но и так работает]]>
Сб, 08 Травень 2010 01:16:16 -0000
Spy Ещё волнует вопрос, нужно реализовать урлы на русском языке, реально ли? Сейчас у меня на одном из сайтов стоит цмс, где это реализовано.

Добавлено 5 дней спустя:

урл страницы:
http://www.cotonti.com/news/community/1

http://www.cotonti.com/news/fucking-shit/1
http://www.cotonti.com/downloads/piece/of/shit/1
это плохо]]>
Thu, 08 Кві 2010 22:59:58 -0000
Killer Thu, 08 Кві 2010 20:03:55 -0000 Sergeich
Кстати. пытаюсь на реальный хостинг (мастерхост) поставить кота с киллеровским модреврайтом, после выполнения всех действий по установке выдаётся 500 ошибка, а в логе сервера пишет
[Wed Apr 7 14:05:12 2010] [alert] [client 62.140.ххх.ххх] /home/u0000/site.com/www/.htaccess: RewriteRule: cannot compile regular expression '^([^/&?#]+)/([a-zA-Z0-9-_]+)/$'\n
это что ему не нравится?]]>
Ср, 07 Кві 2010 18:20:55 -0000
Trustmaster Ср, 07 Кві 2010 17:14:34 -0000 Sergeich
В общем я разочарован в новом инструменте котонти. Возможности конечно в него заложены приличные, но, бля, работает это всё настолько не очевидно, что вся полезность инструмента для конечного пользователя стремится к нулю. Может быть, конечно, я что-то не так делаю, но не должно быть таких заморочек в более-менее массовом продукте.

Ещё одним минусом считаю то, что для создания ссылок как на оф.сайте и как у Киллера нужно пусть не хакать, но добавлять новый файл в ядро, возможно, что данный момент можно было бы учесть и внести в ядро по умолчанию. Но это уже так, мелкие придирки.

Добавлено 29 Минут спустя:

Понял, почему при любой правке отваливаются все страницы и часть категорий, при перезаписи затирается старый .htaccess, при этом теряется часть правил, которые даже не отображаются в веб-интерфейсе. Странное поведение, однако.]]>
Ср, 07 Кві 2010 14:03:29 -0000
Killer .htaccess. Одно вот только я так и не решил, если алиас страницы состоит только из цифр, то движок это понимает как ID страницы, а не алиас.
2. Удалить правила для admin и все.
mod_rewrite_1_289.rar Вот так у меня сейчас.]]>
Ср, 07 Кві 2010 10:08:44 -0000
Sergeich 1. Зарешать вопрос с цифрами в названиях категорий, это важный момент, т.к. при большой структуре хочеш не хочешь, но начинаешь юзать цифры, а тут такой косяк.
2. Удалить нафиг обработку админки. Нафиг в ней красивые урлы, если никто кроме админов её не видит?]]>
Вт, 06 Кві 2010 19:06:51 -0000
Gökhan YILDIZ Вт, 02 Бер 2010 21:35:48 -0000 Killer Here for the fourth level of categories.
RewriteRule ^([^/&?#]+)/([a-z-]+)/([a-z-]+)/([a-z-]+)/$ list.php?c=$4 [QSA,NC,NE,L]

For the fifth.
RewriteRule ^([^/&?#]+)/([a-z-]+)/([a-z-]+)/([a-z-]+)/([a-z-]+)/$ list.php?c=$5 [QSA,NC,NE,L]
And so on.]]>
Вт, 02 Бер 2010 20:55:07 -0000
Gökhan YILDIZ Вт, 02 Бер 2010 20:18:25 -0000 Killer
Добавлено 3 Минуты спустя:

Gökhan YILDIZ, Has incorrectly established most likely. Сссылкии that you have shown all on my site work.
http://www.counter-ss.com/download/counter-strike-source/
http://www.counter-ss.com/download/counter-strike-source/Counter_Strike_Source]]>
Вт, 02 Бер 2010 20:03:02 -0000
Gökhan YILDIZ # Trustmaster : Check .htaccess example, rule order matters. Please use international forums.

running only one that. Unfortunately you're given does not work]]>
Вт, 02 Бер 2010 17:29:57 -0000
Trustmaster .htaccess example, rule order matters. Please use international forums.]]> Вт, 02 Бер 2010 17:14:46 -0000 Gökhan YILDIZ
http://www.kralfutbol.com/haberdetay/avrupada-kazazede-ligde-pasazade Not any problem

http://www.kralfutbol.com/haberler/turkiye/ Not any problem

http://www.kralfutbol.com/haberler/turkiye/superlig/ Not any problem

http://www.kralfutbol.com/haberler/turkiye/superlig/takimlar/ 404 Not Found

http://www.kralfutbol.com/haberler/turkiye/superlig/takimlar/galatasaray/ 404 Not Found

http://www.kralfutbol.com/haberler/turkiye/superlig/takimlar/galatasaray/avrupada-kazazede-ligde-pasazade 404 Not Found

how the problem is fixed?

Added 10 hours 4 minutes later:

Do not answer?]]>
Вт, 02 Бер 2010 07:02:54 -0000
Killer
Добавлено 4 Минуты спустя:

MeDBejoHok, ну вот на денвере, извини, не юзал. :) Но по идеи разницы не должно быть. rewrite_module денвер вроде поддерживает в стандарте. На вампе и в глобе все нормально у меня. Щас попробую поюзать оригинальную версию как на котонти.ком/]]>
Пт, 18 Гру 2009 16:57:16 -0000
MeDBejoHok Например ссылка http://localhost/news/7 хотя новость в категоии "politics"

Может в денвере проблема, попробую на хосте.]]>
Пт, 18 Гру 2009 16:54:13 -0000
Nafanya # Killer Забыл сказать про это, что нужно указывать там адрес своего сайта или локалхоста.
А это обязательно и на что это может по влиять? Просто я не указывал и вроде всё работает.]]>
Пт, 18 Гру 2009 16:52:49 -0000
Killer выше.
На счет неработоспособности категорий - заметил, что не хочет обрабатывать в категориях такие символы, как _,= и цифры. Вместо _ ставим -. Попробую исправить.
И Nafanya правильно сделал. Забыл сказать про это, что нужно указывать там адрес своего сайта или локалхоста.]]>
Пт, 18 Гру 2009 16:03:01 -0000
Nafanya Killer. Ссылки для новостей тоже не за работали. Поменял в файле .htaccess строчку RewriteBase "/cotonti/" на RewriteBase "/" вроде сейчас всё работает.]]> Пт, 18 Гру 2009 15:01:57 -0000 MeDBejoHok Пт, 18 Гру 2009 04:36:37 -0000