Добрый вечер, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались. | |
| Похожие темы |
|
IKZOKZ | Вопрос к реврайтам Веду на сайте два языка. Когда создаю карту сайта xml получаю
Это насколько понимаю не эффективно, то есть для поисковика это две одинаковые страницы хоть и содержание разное. Поисковик сканирует сайт на том языке, на котором сайт, то есть главный язык, а сессии ему по барабану. Эффективное решение думаю только в реврайтах. Подскажите, что вправить, чтобы вот так в sitemap.xml выглядело
Status-X 1.03a24 Отредактировано IKZOKZ: 22.03.2011, 18:45:12 | |||
SX | К сожалению простого решения не вижу, серверу ведь тоже чихать на сессии, по этому ленг уже должен быть прописан в урле до обработки чпу. То есть например lang=ru, и это должно быть дописано к каждой ссылке, а вот какой ланг это уже берется из сессии или из списка доступных языков. И только тогда уже применяются правила реврайта. Вот как раз реврайта просто поправить добавив лишь одно правило после основной обработки, сложность переделывать все ссылки в шаблоне и скриптах. Но за поднятый вопрос благодарю, возьму на вооуружение в Статусе 2, там правда все проще, там вообще все ссылки стандартизированы, работают через роутер и сразу имеют вид /../../../../ |
SX | Вопрос по ссылкам В первой версии изменения типа урлов не будет. Во второй роутер по умолчанию работает простой пример http://домен/модуль/категория/идентификатор Но можно добавлять свои правила как статические, то есть адрес заменяется на конкретно указаный, так и динамические, которые работают на основе масок (регулярные выражения), даже с автоматическими субдоменами прекрасно работает Так что с адресом можно сделать из админки все что угодно |
Yrok | Жаль Да, жаль и вправду, я бы при некоторых доработках её покупал бы для проектов (клиенты просят толковые URL, а я им могу только посоветовать не использовать Status-x для их сайта). Если бы от меня что-то зависело - хотел бы внести изменения в status-x: 1. ЧПУ - заменить на адекватные (без циферок и попроще, лучше со статикой причём во всех модулях) 2. Изменить систему заполнения meta тегов (сделать сразу в редакторе контента) 3. Сделать возможность распределения модулей-блоков как в joomla, чтобы можно было вешать туда статический и динамический контент 4. Сделать по-умолчанию толковую галерею (как правило приходится всегда привинчивать сторонние, типа lightbox, если бы сразу была такая впаяна дополнительно, было бы шикарно) 5. Добавить модуль статического контента (не страниц, а именно контента) 6. Допилить модуль рассылки (одного поля мало иногда, нужно настраиваемое количество) Всё остальное вполне устраивает. |
Yulo | Возможно ли без лишних заморочек изменить ЧПУ? Мои эксперименты ни к чему не привели. Чтобы вот из этого правила: RewriteRule ^content/([0-9]+)/([-_A-Za-z0-9-]+)/([0-9]+)/([^/]*)$ index.php?p=content&id=$1&name=$2&area=$3 [NC,L] Получалось следующее: RewriteRule ^NAME index.php?p=content&id=4&name=NAME&area=1 [NC,L] То есть берется только поле name=NAME. Где и как генерируется ссылка в Статических страницах, можно ли изменить так же без заморочек. Что бы ссылки в базе искались не по id а по name. Я в php не умею. (= |
SX | Цитата Автор: Yulo Возможно ли без лишних заморочек изменить ЧПУ? Мои эксперименты ни к чему не привели. Чтобы вот из этого правила: RewriteRule ^content/([0-9]+)/([-_A-Za-z0-9-]+)/([0-9]+)/([^/]*)$ index.php?p=content&id=$1&name=$2&area=$3 [NC,L] Получалось следующее: RewriteRule ^NAME index.php?p=content&id=4&name=NAME&area=1 [NC,L] То есть берется только поле name=NAME. Где и как генерируется ссылка в Статических страницах, можно ли изменить так же без заморочек. Что бы ссылки в базе искались не по id а по name. Я в php не умею. (= Искать по имени не получится, так как в базе название хранится не обработанное транслитом, как минимум нужно создавать поле где будет хранится имя в транслите и менять везде запросы. И у тебя не получалось потому что нужно работать с парой, регулярка и правило RewriteRule Проще вариант написать правила под конкретные адреса страниц, такое не раз делал и страниц таких статических не так много Итак участвуют два класса class.Rewrite.php - формирует чпу ссылку в шаблонах, class.Htaccess.php - формирует правило для файла htaccess Сейчас мы пишем правило для статических страниц, и что бы понятно куда вставлять код, точка для вставки в обоих файлах ниже конструкции
Например мы создали статическую страницу О компании, ее адрес выглядит так http://www.status-x.ru/index.php?p=content&id=3&name=o-kompanii&area=1, а хотим http://www.status-x.ru/content/o-kompanii/, или еще круче http://www.status-x.ru/o-kompanii/
В данных вариантах главное правильно проставить вручную имя, ид и секцию Обычно статических страниц бывает нужно не много, чаще не больше десяти и не составит труда для каждой прописать правило. Вариантов решения много, но тогда уже нужны знания php | |||
Yulo | А для чего эта конструкция ([^/]*)$ с ней не работает, без нее работает? Собственно все тоже самое можно сделать проще. Просто отключить автообновление htaccess в админке и напрямую в htaccess писать правила. Ты написал что class.Rewrite.php формирует чпу ссылку в шаблонах. Но ссылки по прежнему формируются по старому, попробовал с новостями и стат. страницами. Или может я не так понял тебя. |
SX | Цитата Автор: Yulo А для чего эта конструкция ([^/]*)$ с ней не работает, без нее работает? Собственно все тоже самое можно сделать проще. Просто отключить автообновление htaccess в админке и напрямую в htaccess писать правила. Ты написал что class.Rewrite.php формирует чпу ссылку в шаблонах. Но ссылки по прежнему формируются по старому, попробовал с новостями и стат. страницами. Или может я не так понял тебя. В данном варианте в принципе можно ([^/]*)$ можно заменить на /$ Если напрямую писать в хтагес, это будут только правила для перенаправления, а вот формирование измененных ссылок все равно происходит в class.Rewrite.php |
Yulo | Да все работает с class.Rewrite.php и даже RSS формирует ссылку как надо, это я чуток с ссылкой накосячил. Еще один вопрос по поводу времени публикации. Какими средствами делается отсчет времени (пример: сообщение отправлено "4 минуты назад" или Новость опубликована "1 час назад" ) Почитал смарти про форматы времени, но ничего подобного там не нашел. Весь интернет перерыл. Я так понимаю это на php надо написать и уже в шаблон вставлять? |
SX | Цитата Автор: Yulo Да все работает с class.Rewrite.php и даже RSS формирует ссылку как надо, это я чуток с ссылкой накосячил. Еще один вопрос по поводу времени публикации. Какими средствами делается отсчет времени (пример: сообщение отправлено "4 минуты назад" или Новость опубликована "1 час назад" ) Почитал смарти про форматы времени, но ничего подобного там не нашел. Весь интернет перерыл. Я так понимаю это на php надо написать и уже в шаблон вставлять? Для реализации данного функционала в шаблоне надо писать модификатор для смарти, который будет считать минуты - часы - дня от указанного времени |
|
Похожие темы | Предыдущая тема | Следующая тема |
Быстрый переход: |
Темы | Сообщения | Пользователи | |
За сутки: | 0 | 0 | 0 |
За неделю: | 0 | 0 | 0 |
За месяц: | 0 | 0 | 1 |
Всего: | 1444 | 9453 | 3410 |
Мы приветствуем нового участника: dota812651 |