YiiFramework Yii2: изменения в работе с URL

Sam Dark

Новичок
MiksIr, я верно понял, что есть желание сделать внтренние роуты mySite/myIndex вместо my-site/my-index?
 

fixxxer

К.О.
Партнер клуба
Это для 404 нормальной. Похоже я забыл как оно реализовано и что рефлексия имеется :) Спасибо за напоминание.
Не знаю, как оно задумано, но я так понял, что вот это
>>$method->getName() === $methodName
как раз для различия между foo-bar и foobar, не? Ну даже если оно изначально не для того, то все равно решает вопрос.

Canonical решает проблему, да. Вот только его надо строить правильно, включая нужное и выкидывая ненужное.
Ну вот это как раз Controller->getCanonicalUrl же делал (если не говнокодить, а нормально пробить параметры action-метода), не?
 

MiksIr

miksir@home:~$
ничем не лучше и не хуже /foo/ == /foo/?randomValue.
Ну, при полном ЧПУ просто запрещается все что с ? на уровне robots.txt и все.
Хотя просят, что бы не работали такие урлы. Бывает даже порядок параметров в URL проверяем и редиректим в param2=val&param1=val на param1=val&param2=val
Так что ты лучше про сеошников не шути - внезапно окажется правдой =)
 

MiksIr

miksir@home:~$
MiksIr, я верно понял, что есть желание сделать внтренние роуты mySite/myIndex вместо my-site/my-index?
Ну в общем я написал, как делал бы сам.

Т.е. или полный игнор регистра в роуте и создание урлов в нижнем регистре, а import будет просто читать директорию и держать хеш-массив соответствий.

Или рефлексия для эмуляции регистро-зависимых классов/методов. Вернее, для модуля/класса можно обойтись тупо именем файла надеясь на регистрозависимую ФС, а для метода в Yii1 все-равно рефлексия была, что бы параметры анализировать.

Чорточки лично мне кажутся излишними.
 

fixxxer

К.О.
Партнер клуба
не, ну за их деньги любая прихоть, а вообще с появлением rel=canonical в яндексе это все бессмысленные пляски с бубном
 

fixxxer

К.О.
Партнер клуба
Так в гугле оно чуть ли не с самого начала. А остальным можно пренебречь :)

Не, я, конечно, не против самой фичи, но вот это reflection-ы как-то напрягают.
 

fixxxer

К.О.
Партнер клуба
Нормального способа это сделать при смешении автоматического controller-action и ручного маппингов я не вижу. Лично я бы предпочел, чтобы автоматический и ручной маппинг были разными роутер-компонентами - автоматический нужен в админках, где по барабану на сео, а на нормальном сайте урлы пробиваются вручную и автоматический маппинг не нужен и даже вреден. Но я, конечно, понимаю, что это для yii не вариант.
 

AmdY

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

Sam Dark

Новичок
AmdY, это всё относится к URL-ам по умолчанию и только. Если прописывать самостоятельно правила для URL manager, можно и капс и кириллицу и вообще всё что угодно.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Саш, я думаю, на вопрос по теме здесь не ответят.
В более сложных проектах, чем блог с админкой, где есть заработок на трафике и бюджет для SEO, пишется свой UrlManager.
В 1.1 я сделал штуковину вида Yii::app()->createUrl($model). Поддерживаю идею вынесения всего в единый хелпер, чтобы его можно было переопределить своим - надеюсь, там LSB? :)
Игры с дефолтными URL в такой ситуации никому не нужны.

Эта фича для миллиона индусов, которым надо за неделю развернуть магазин, чтоб там было все и сразу, и чтобы URL нормально генерился, но им вдумываться некогда.
 
Последнее редактирование:
Сверху