| 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это что ему не нравится? | 
| Killer |  | 
|---|---|
| Не знаю в чем проблема, у меня работает. Может опция mod rewrite не включена на хостинге? Тогда бы косяк шел бы с первой строки. Лишь утратив всё до конца, мы обретаем свободу... | 
| 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 это плохо 
                        Bu gönderi Spy tarafından düzenlendi (2010-04-14 22:26, 15 yıllar önce)
                     | 
| 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. Можно и иначе реализовать но и так работает Pavlo Tkachenko aka Dayver 
                        Bu gönderi Dayver tarafından düzenlendi (2010-05-08 01:29, 15 yıllar önce)
                     | 
| Chiaroscuro |  | 
|---|---|
| pm.php данные настройки, я так понимаю, не обрабатывают? | 
| Sergeich |  | 
|---|---|
| Фигня какая-то, уже второй хостинг пробую и снова косяки с ЧПУ, делаю простейший вариант только для страниц Модули                    Параметры                                      Формат
 page                           id=*                                        page/{$id}.shtml
 page                           al=*                                        page/{$al}.html
Всё что надо и где надо прописывается, а страницы не открываются, пишет ошибку msg=950. Я уже не знаю что тут может не работать. Модреврайт точно включен, в соседней папке нормально работает ЧПУ для седитио. На локалке вроде бы работает (хотя сложный вариант как-то замороченно), на другом хостинге простой вариант ЧПУ в котонти работает, сложный нет. Я удручён. | 
| 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;
}
Лишь утратив всё до конца, мы обретаем свободу... | 
| Sergeich |  | 
|---|---|
| А что в .htaccess писать? Добавлено 23 Минуты спустя: Блин, запустил на котонти плагин ЧПУ от седитио, всё нормально работает. Почему же родной котовский модреврайт не желает заводиться? 
                        Bu gönderi Sergeich tarafından düzenlendi (2010-07-18 22:17, 15 yıllar önce)
                     | 
| Trustmaster |  | 
|---|---|
| 950 ошибка странная, возникает обычно при отправке формы. А в .htaccess что? May the Source be with you! | 
| 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] Лишь утратив всё до конца, мы обретаем свободу... | 
| 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 | 
| 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 должна проверяться раньше, иначе жадные алиасы её съедят. May the Source be with you! | 
| Sergeich |  | 
|---|---|
| Trustmaster, предлагаю в будущих версиях убрать вебинтерфейс создания правил, но оставить urltrans.dat и .htaccess, т.к. именно их и юзает большинство для создания своих вариантов ЧПУ. При этом мы исключаем криворуких товарищей (типа меня) которые кривыми правилами ломают весь свой сайт :), но оставим профи инструмент для гибкой настройки ЧПУ. Да и меняться вариантами ЧПУ так будет удобнее. Я бы ещё подумал над functions.custom.php, чтобы реализовать в коде некий вариант, который сможет закрыть 99% потребностей вебмастеров, и переименовать этот файл в modrewrite.php :). Добавлено 10 Минут спустя: О, кстати, Spy интересный момент отметил, как такое забороть? поисковики могут обидеться на такие чудеса умножения кол-ва страниц, да и не только поисковики. урл страницы: 
                        Bu gönderi Sergeich tarafından düzenlendi (2010-07-20 03:38, 15 yıllar önce)
                     | 
| Alex300 |  | 
|---|---|
| Да не стоит убирать Web-интерфейс. Лучше было бы сделать пресетов. Установил презет и большая часть потребностей решена. А через Web-интерфейс можно добовлять некоторые спецефические настройки. Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!... ...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ | 
| Sergeich |  | 
|---|---|
| Alex300, не получается через вебинтерфейс добавлять некоторые специфические настройки (только самые что ни на есть простые, да и тут легко запутаться пример в моём случае), всё равно придётся лезть ручками как минимум в .htaccess. Может быть и можно продолжить дорабатывать веб-интерфейс, но только как отдельный плагин, как часть дефолтной поставки он пока не годится. |