Кривые ссылки на поддомене

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 302 Просмотров
*

Sgrey

  • Осваиваюсь на форуме
  • ***
  • 28
  • 1
Есть сайт site.ru на Joomla 2.5 Зарегистрирован поддомен (subdomen) и создана папка для него внутри существующего сайта. В папку установлена Joomla 3.
В htaccess основного сайта сделаны следующие изменения:

RewriteCond %{HTTP_HOST} ^subdomen\.site\.ru$
RewriteCond %{REQUEST_URI} !/subdomen/
RewriteRule ^(.*)$ /subdomen/$1 [L]

Редирект работает, поддомен тоже, НО все ссылки в меню принимают следующий вид subdomen.site.ru/subdomen/example
Можно это как то побороть и иметь нормальные ссылки вида subdomen.site.ru/example?

P.S. Если это имеет какое то значение, то база данных одна, но таблицы с разными префиксами.

*

Werber

  • Осваиваюсь на форуме
  • ***
  • 102
  • 2
Re: Кривые ссылки на поддомене
« Ответ #1 : 19.03.2016, 23:11:43 »
Я сам в мозгах Joomla только начал разбираться, но думаю, что суть в JRouter - роутерере (составителе ссылок). Где и как его бороть - сказать не могу, сам не знаю. Но думаю, проблема именно в нём. Знающее точнее подскажут.

*

Missile

  • Завсегдатай
  • *****
  • 795
  • 79
Re: Кривые ссылки на поддомене
« Ответ #2 : 19.03.2016, 23:44:26 »
Ну, редирект так и работает, как Вы прописали в Rewrite rule.

*

Sgrey

  • Осваиваюсь на форуме
  • ***
  • 28
  • 1
Re: Кривые ссылки на поддомене
« Ответ #3 : 20.03.2016, 00:57:20 »
То, что это все из-за редиректа понятно. Вопрос в том можно ли это как то побороть с помощью htaccess или покопавшись в мозгах Joomla.
Если сделать $live_site = 'http://subdomen.site.ru'; то ссылки становятся нормальными, но не грузятся все CSS, js, картинки и не работает админка, поскольку их url берется от корневой папки основного сайта, а нет от папки subdomen.
За это отвечает $this->baseurl, но как его поменять глобально я так и не понял.

*

Missile

  • Завсегдатай
  • *****
  • 795
  • 79
Re: Кривые ссылки на поддомене
« Ответ #4 : 20.03.2016, 08:05:55 »
Попробуйте
Код
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/subdomen/$
RewriteRule ^(.*)$ http://subdomen.site.ru/$1 [R=301,L]

либо так:
Код
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^subdomen/ [L,R=301]
RewriteRule ^(.*)$ http://subdomen.site.ru/ [L,R=301]

*

Sgrey

  • Осваиваюсь на форуме
  • ***
  • 28
  • 1
Re: Кривые ссылки на поддомене
« Ответ #5 : 21.03.2016, 01:33:43 »
Missile, Не работает. К тому же где в них редирект на папку поддомена? Или это в htaccess поддомена, но все равно не работает.

Чтобы было проще искать рабочий вариант делал все с помощью OpenServer. В процессе мучений случайно выяснилось, что если задать $live_site = 'http://subdomen.site.ru'; и при этом используется связка Apache+Nginx, то как уже говорил выше ссылки исправляются, но не загружает вся статика. Зато в случае если используется только Apache, то все прекрасно работает.

На хостинге Apache+Nginx, но поскольку уже сталкивался с ситуациями, что из-за разных настроек сервера на локалке и хостинге некоторые вещи работают по разному, решил на всякий случай проверить. К моей радости на хостинге все заработало нормально.

Так что вопрос решен. Редирект из первого поста и задать переменную live_site. Почему не так работает в OpenServer на связке Apache+Nginx не знаю.