1

Тема: Разный набор "масок" для urls.ini

Разный набор "масок" для urls.ini для версий 1.1 и старше.

Стандартная:

[home]
post = "?id={id}"
category = "?category={category-id}"
user = "?do=users&user={user}"
day = "?year={year}&month={month}&day={day}"
month = "?year={year}&month={month}"
year = "?year={year}"
keywords = "?keywords={keywords-id}"
skip = "?skip={skip}"
page = "?id={id}&page={page}"
cpage = "?id={id}&cpage={cpage}"
[rss.php]
post = "?id={id}"
category = "?category={category-id}"
user = "?user={user}"
[print.php]
post = "?id={id}"
[trackback.php]
post = "?id={id}"

Почти как в "Регистре":

[home]
post = "{day}.{month}.{year}/{id}"
category = "category/{categories}"
user = "users/{user:do=users}"
day = "{day}.{month}.{year}"
month = "{month}.{year}"
year = "{year}"
keywords = "keywords/{keywords}"
skip = "page/{skip}"
page = "{day}.{month}.{year}/{id}/page/{page}"
cpage = "{day}.{month}.{year}/{id}/comments/{cpage}"
[rss.php]
post = "feed/{day}.{month}.{year}/{id}"
category = "feed/category/{categories}"
user = "feed/users/{user}"
feed = "feed"
[print.php]
post = "print/{day}.{month}.{year}/{id}"
[trackback.php]
post = "ping/{day}.{month}.{year}/{id}"

Как у меня:

[home]
post = "{year}/{month}/{day}/{title}.html"
user = "users/{user:do=users}.html"
day = "{year}/{month}/{day}"
month = "{year}/{month}"
year = "{year}"
category = "category/{categories}"
keywords = "keywords/{keywords}"
skip = "?skip={skip}"
page = "?id={id}&page={page}"
cpage = "?id={id}&cpage={cpage}"
[rss.php]
post = "{year}/{month}/{day}/{title}.xml"
category = "category/{categories}/rss.xml"
user = "users/{user}.xml"
feed = "rss.xml"
[print.php]
post = "{year}/{month}/{day}/{title}.phtml"
[trackback.php]
post = "{year}/{month}/{day}/{title}.tb"

Как на сайте Strawberry:

[home]
day = "{year}/{month}/{day}"
month = "{year}/{month}"
year = "{year}"
post = "{categories}/{title}.html"
category = "{categories}"
keywords = "keywords/{keywords}"
skip = "?skip={skip}"
page = "?id={id}&page={page}"
cpage = "?id={id}&cpage={cpage}"
[rss.php]
post = "{year}/{month}/{day}/{title}.xml"
category = "{categories}/rss.xml"
feed = "rss.xml"
[print.php]
post = "{year}/{month}/{day}/{title}.phtml"
[trackback.php]
post = "{year}/{month}/{day}/{title}.tb"

Как где-нить:

[home]
post = "{categories}/{id}"
user = "users/{user:do=users}.html"
day = "{year}/{month}/{day}"
month = "{year}/{month}"
year = "{year}"
category = "{categories}"
keywords = "keywords/{keywords}"
skip = "?skip={skip}"
page = "?id={id}&page={page}"
cpage = "?id={id}&cpage={cpage}"
[rss.php]
post = "feed/{categories}/{id}"
category = "feed/{categories}"
user = "users/{user}.xml"
feed = "rss.xml"
[print.php]
post = "print/{categories}/{id}"
[trackback.php]
post = "trackback/{categories}/{id}"
Признанный мастер чинпоко, а-ай ^_^

2

Re: Разный набор "масок" для urls.ini

Народ, давайте-ка, в попец-ка отседава. Вопросы задавайте там где нужно, этот тред для готовых "масок".

Признанный мастер чинпоко, а-ай ^_^

Re: Разный набор "масок" для urls.ini

как на mgcorp.ru

[home]
author = "user/{user}"
post = "{categories}/{title}.html"
postadd = "{mod}/{add}.html?act=add"
user = "{user}.html"
category = "{categories}"
year = "{categories}/{year}"
month = "{categories}/{year}/{month}"
day = "{categories}/{year}/{month}/{day}"
skip = "{category-id}/{skip}"
page = "{categories}/{page}"
cpage = "{categories}/{cpage}"
act = "{mod}/{act}"
mod = "{mod}"


[rss.php]
post = "{title}.xml"
category = "category/{categories}/rss.xml"
user = "users/{user}.xml"

[print.php]
post = "{title}.phtml"

[trackback.php]
post = "{categories}/{year}/{month}/{day}/{title}.tb"
pst = "{title}.tb"

[sitemap.php]
post = "sitemap/news.xml"
Здесь молодость бродит крылато, и старость не клонит голов...
Демо площадка Strawberry 1.2 - заходим и тестируем!

Re: Разный набор "масок" для urls.ini

Цитата из документации:

Возможные ошибки rUFUs

Первая и самая распространённая ошибка - не создаётся .htaccess. Вам нужно самостоятельно в "домашней странице сайта" создать .htaccess с CHMOD 666. А потом снова создать его из админки.

Вторая. Если вы захотите написать УРЛ для категорий:

category = "{categories}"

Будут некоторые проблемы. Они связаны с mod_rewrite.Тег {categories} оставляет следующее условие для реврайта:

([/_0-9a-z-]+)

Оно подходит почти под всё: тут и цифры разрешены, и буквы, и минус снижмим подчёркиванием, и даже слэш. Что может помочь? Иерархия, конечноже.

[home]
post = "{year}/{month}/{day}/{title}.html"
user = "users/{user}.html"
day = "{year}/{month}/{day}"
month = "{year}/{month}"
year = "{year}"
category = "{categories}"

[rss.php]
post = "{year}/{month}/{day}/{title}.xml"
category = "category/{categories}/rss.xml"
user = "users/{user}.xml"

[print.php]
post = "{year}/{month}/{day}/{title}.phtml"

[trackback.php]
post = "{year}/{month}/{day}/{title}.tb"

Видите, пункт category перемещён как можно ниже, mod_rewrite (именно, как мод Апача, а не пункт в настройках smile) будет егообработать в последнюю очередь и возможно(!) это позволит избежать ошибоки неожиданностей.

upd данная ошибка была исправлена в версиях выше 2.5.4, но подобная ошибка может встречатся и с правилами пользователей, которые я, к сожалению, предвидеть не могу. Поэтому "на заметку" оставляю.

Во всех приведенных выше примерах масок {categories} находится высоко в иерархии, что может (и приводит) к непредсказуемым ошибкам. В частности вылазят бредовые значения ?skip, не работает ?cpage, а на одном сайте у меня комментарии не отображались выборочно пока {categories} не опустил вниз.

Короче говоря, это надо учитывать. Strawberry 1.1.1

Отредактировано cmd (04 Mar 2011 21:04:29)

Есть такая штука как IceStrawberry 1.04 b. Можете юзать на свой страх и риск... или слямзить что-то. Мне фиолетово.