Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

Ответ
 
Опции темы Опции просмотра
AlexLeonov вне форума AlexLeonov
Arbeit macht Frei

Аватар для AlexLeonov

| Цитировать Старый #1 12-25-2006, 11:27

Несложный хак, который позволит избавиться от "modules" в адресах.

1. В корень портала кладем файл .htaccess следующего содержания (если он уже есть - дописываем к существующему):

Код:
RewriteEngine on
RewriteBase /
RewriteRule ^([^/]*)\.(.+)$ $1.$2 [QSA,L]
RewriteRule ^(cache|class|images|include|language|manual|modules|themes){1}/(.*)$ $1/$2 [QSA,L]
RewriteRule ^([a-z]+)(/{0,1})(.*)$ modules/$1/$3 [L]
2. В папку /modules кладем файл .htaccess следующего содержания:

Код:
RewriteEngine on
3. Заходим по адресу ваш.сайт.ру/news к примеру. Если видим модуль новостей - все хорошо, если нет - или не включен mod_rewrite на сервере, или где-то глюк -)))

4. Кропотливо изменяем все ссылки в портале и использующихся модулях, убирая из них modules.

Комментарии, сообщения о багах, пожелания приветствуются. Распространение хака свободное, GPL.
Оценка сообщения (репутация)
+1 vigerLab положительно: + отлично, спасибо огросное!!!


Ronny CMS? Yes!
Посетить домашнюю страницу AlexLeonov
  Сообщения: 1,243 c 23.06.2004 | Репутация: 108
AlexLeonov вне форума AlexLeonov
Arbeit macht Frei

Аватар для AlexLeonov

| Цитировать Старый #2 12-25-2006, 11:51

UPD:

Старые ссылки при таком способе остаются рабочими, поэтому править ссылки можно постепенно, модуль за модулем.


Ronny CMS? Yes!
Посетить домашнюю страницу AlexLeonov
  Сообщения: 1,243 c 23.06.2004 | Репутация: 108
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #3 12-25-2006, 11:55

Для того что бы старые ссылки не индексировались
1. в robots.txt вставляем Disallow: /modules/news/ ( старые урлы )
2. Что бы Яндекс быстрее удалил из индексации старые урлы идем сюда http://webmaster.yandex.ru/delurl.xml
3. а здесь http://webmaster.yandex.ru/ вставляем новый адрес ( у меня где то 2 недели ушло на удаление из базы старых и индексации новых )


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #4 12-25-2006, 12:17

Цитата:
Кропотливо изменяем все ссылки в портале и использующихся модулях, убирая из них modules.
берем прогу по массовой замене текста в файлах, я использую @Text Replacer
делаем найти modules/ заменить на / все
И главное !!!!!
Не делайте сразу на рабочих сайтах, делайте на локалке


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
AlexLeonov вне форума AlexLeonov
Arbeit macht Frei

Аватар для AlexLeonov

| Цитировать Старый #5 12-25-2006, 12:23

Цитата:
делаем найти modules/ заменить на / все
Тут есть одна тонкость - в тех местах, где используются физические, локальные адреса, в include например, менять ничего не надо, там так и должно все оставаться с modules. А менять ссылки надо только http-шные.

И да, насчет локалки очень справедливо. Не стоит сразу рушить рабочий сайт -)))


Ronny CMS? Yes!
Посетить домашнюю страницу AlexLeonov
  Сообщения: 1,243 c 23.06.2004 | Репутация: 108
bncom вне форума bncom
Участник

Аватар для bncom

| Цитировать Старый #6 12-26-2006, 17:38

Спасибо огромное за проделанную работу!


Версия RunCMS: 1.5.3
  Сообщения: 202 c 23.02.2006 | Репутация: 1
AlexLeonov вне форума AlexLeonov
Arbeit macht Frei

Аватар для AlexLeonov

| Цитировать Старый #7 12-27-2006, 11:32

Где-то применили? Работает? Глюки какие-либо замечены?

Расскажите плииз.


Ronny CMS? Yes!
Посетить домашнюю страницу AlexLeonov
  Сообщения: 1,243 c 23.06.2004 | Репутация: 108
big_vyvorot вне форума big_vyvorot
Младший участник


| Цитировать Старый #8 12-27-2006, 20:36

Последнее правило

RewriteRule ^([a-z]+)(/{0,1})(.*)$ modules/$1/$3 [L]

нужно поменять на

RewriteRule ^([a-z_]+)(/{0,1})(.*)$ modules/$1/$3 [L]

чтобы корректно работал newbb_plus и другие модули с подчеркиванием в названии.
Оценка сообщения (репутация)
+1 Pekc положительно:

Посетить домашнюю страницу big_vyvorot
  Сообщения: 46 c 07.06.2006 | Репутация: 29
Pekc вне форума Pekc
Участник

Аватар для Pekc

| Цитировать Старый #9 12-28-2006, 19:12

Цитата:
Сообщение от AlexLeonov Посмотреть сообщение
не включен mod_rewrite на сервере.
А можно поподробнее о mod_rewrite?

Как его включить?(наверняка это к хостеру) Зачем нужен?

  Сообщения: 134 c 29.06.2006 | Репутация: 1
AlexLeonov вне форума AlexLeonov
Arbeit macht Frei

Аватар для AlexLeonov

| Цитировать Старый #10 12-29-2006, 11:19

mod_rewrite - это модуль веб-сервера Apache, который управляет процессом преобразования адресов. С его помощью, путем указания правил преобразования, мы и перенаправляем вызов ваш.сайт.ру/news на реальный адрес ваш.сайт.ру/modules/news без всяких редиректов, совершенно прозрачно для пользователя.

К хостеру, да.


Ronny CMS? Yes!
Посетить домашнюю страницу AlexLeonov
  Сообщения: 1,243 c 23.06.2004 | Репутация: 108
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 83.09 Kb. compressed to 75.79 Kb. by saving 7.30 Kb. (8.79%)
Page generated in 0.08732 seconds with 11 queries