Страница 1 из 1

Дубль домена в URL

Добавлено: 18 сен 2021, 15:58
SergeyZlygostev
Добрый день! Может у кого была такая проблема.
Перенесен на Openserver сайт на битрикс. Главная страница открывается, например https://site.ru (за искл картинок на ней). Остальные страницы выдают - https://site.ru/site.ru/страница/ . То есть идет 301 редирект с https://site.ru/страница/ на https://site.ru/site.ru/страница/ и та уходит в 404.
Структура на боевом сервере /home/bitrix/ext_www/site.ru , на Openserver domains/site.ru.
.htaccess такой
Options -Indexes
ErrorDocument 404 /404.php

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)index\.php$ $1 [R=301,L]
RewriteRule ^(.*)index\.html$ $1 [R=301,L]
RewriteRule ^(.*)home\.html$ $1 [R=301,L]
RewriteRule ^(.*)home\.php$ $1 [R=301,L]
RewriteRule ^(.*)index\.htm$ $1 [R=301,L]
RewriteRule ^(.*)home\.htm$ $1 [R=301,L]
RewriteRule ^(.*)catalog\/site-ru\/$ $1/catalog/siteru/ [R=301,L]

<IfModule mod_php5.c>
php_flag allow_call_time_pass_reference 1
php_flag session.use_trans_sid off
php_flag memory_limit 512M

#php_value display_errors 1

#php_value mbstring.internal_encoding UTF-8
</IfModule>

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^robots\.txt$ /sitemap/robots.php [L]
RewriteRule ^sitemap\.xml$ /sitemap/sitemap.php [L]
RewriteRule ^sitemap-(.*)\.xml$ /sitemap/new-sitemap.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

Redirect 301 https://site.ru/index.php https://site.ru
</IfModule>

<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>

Re: Дубль домена в URL

Добавлено: 18 сен 2021, 19:11
Максим
Либо перепишите свои правила реврайта, либо скопируйте в папку domains/site.ru содержимое папки /home, а не /home/bitrix/ext_www/site.ru.

Re: Дубль домена в URL

Добавлено: 19 сен 2021, 11:26
SergeyZlygostev
Максим писал(а): 18 сен 2021, 19:11 Либо перепишите свои правила реврайта, либо скопируйте в папку domains/site.ru содержимое папки /home, а не /home/bitrix/ext_www/site.ru.
Максим, спасибо большое за разъяснение!
Подскажите пожалуйста еще один момент - на вкладке "домены" в настройках прописываю папку домена "/home/bitrix/ext_www/site.ru". На боевом сайте корневая папка "/home/bitrix/ext_www/site.ru" , на Openserver получается полный путь "C:/Openserver/domains/home/bitrix/ext_www/site.ru". Возможно ли как-то убрать лишнее из пути "C:/Openserver/domains". Пробовал на вкладке server прописать "home\bitrix\ext_www\site.ru". Пропали все проекты из domains. Прочитав документацию, думаю это нормальное поведение OS и все проекты должны в любом случае работать из domains. Неужели нет другого способа реализовать короткое наименование корня для одного сайта?

Re: Дубль домена в URL

Добавлено: 19 сен 2021, 12:15
Максим
Не уверен что правильно вас понял, того, чего вы хотите добиться, но попробую.

1. Включите следующее управление доменами - ручное+автопоиск или вовсе ручное (если автопоиск не нужен)
2. Скопируйте в папку C:\Openserver\domains\ папку home со всем содержимым, получится, как вы уже заметили "C:\Openserver\domains\home\bitrix\ext_www\site.ru".
3. Создайте домен вручную, в качестве имени домена укажите site.ru, а в качестве корневой папки домена укажите: \home\bitrix\ext_www\site.ru
4. Нажмите кнопку добавить, потом сохраните настройки и перезапустите сервер.

Если я вас неверно понял и всё управление и маршрутизация у вас лежит тут \home\bitrix либо тут \home, то соответственно указывайте корневую папку как: \home\bitrix или \home

Re: Дубль домена в URL

Добавлено: 19 сен 2021, 20:15
SergeyZlygostev
Максим писал(а): 19 сен 2021, 12:15 Не уверен что правильно вас понял, того, чего вы хотите добиться, но попробую.

1. Включите следующее управление доменами - ручное+автопоиск или вовсе ручное (если автопоиск не нужен)
2. Скопируйте в папку C:\Openserver\domains\ папку home со всем содержимым, получится, как вы уже заметили "C:\Openserver\domains\home\bitrix\ext_www\site.ru".
3. В качестве имени домена укажите site.ru в качестве корневой папки домена укажите: \home\bitrix\ext_www\site.ru
4. Нажмите кнопку добавить, потом сохраните настройки и перезапустите сервер.

Если я вас неверно понял и всё управление и маршрутизация у вас лежит тут \home\bitrix либо тут \home, то соответственно указывайте корневую папку как: \home\bitrix или \home
Максим, пробую по Вашей инструкции сделать.
1,2 пункт без проблем. На 3 возникает проблема с указанием корневой папки домена (на вкладке сервер правильно?), т.к. выбрать \home\bitrix\ext_www\site.ru не выходит, поле не редактируемое, проставляется только domains\home\bitrix\ext_www\site.ru А дальше отваливаются проекты (в меню Мои проекты нет).

Re: Дубль домена в URL

Добавлено: 19 сен 2021, 20:33
Максим
Нет, неверно. Все описанные мной действия нужно совершать на вкладке управления доменами. На вкладке Сервер вам ничего менять не нужно, особенно корневую папку всех доменов.

Re: Дубль домена в URL

Добавлено: 19 сен 2021, 20:41
SergeyZlygostev
Максим писал(а): 19 сен 2021, 20:33 Нет, неверно. Все описанные мной действия нужно совершать на вкладке управления доменами. На вкладке Сервер вам ничего менять не нужно, особенно корневую папку всех доменов.
На вкладке домена указывал, безрезультатно
Имя домена site.ru, Папка домена \home\bitrix\ext_www\site.ru
Но, в таком случае корень будет не \home\bitrix\ext_www\site.ru , а C:\Openserver\domains\home\bitrix\ext_www\site.ru

Re: Дубль домена в URL

Добавлено: 19 сен 2021, 20:45
Максим
Вы работаете в Windows, здесь любой абсолютный путь к папке начинается с буквы диска. \home это в linux.
Не путайте пожалуйста физический путь к корневой папке и то, что вы указываете в настройках. Когда вы указываете относительный путь к папке при создании домена, то он потом склеивается с путём из вкладки СЕРВЕР и получается путь к физической папке, которая и становится корнем.

Ещё раз обращу внимание - если всё управление и маршрутизация у вас лежит тут \home\bitrix либо тут \home, то соответственно корневую папку при создании домена указывайте как: \home\bitrix или \home.