Контекст "теряет" base-url
Добрый день, форумчане! Прошу помощи — не выводится base-url в созданном контексте, т.е. ссылки формируются без «/» — в виде ru.booking.online1.html или ru.booking.online1/1.html
Переключение контекста организованно через плагин по этой заметке (поддомены или разные домены), пробовал переключать через ContextRouter — в обоих случаях контекст переключается, но «теряет» base-url (/). Если самостоятельно добавить "/" в url (ru.booking.online/), то все страницы выводятся верно.
Сайт тестовый — установлен плагин, ContextRouter и Ace.
Настройки контекста: ru
Переключение контекста организованно через плагин по этой заметке (поддомены или разные домены), пробовал переключать через ContextRouter — в обоих случаях контекст переключается, но «теряет» base-url (/). Если самостоятельно добавить "/" в url (ru.booking.online/), то все страницы выводятся верно.
Сайт тестовый — установлен плагин, ContextRouter и Ace.
Настройки контекста: ru
base_url - /
container_suffix - /
friendly_urls - Да
http_host - ru.booking.online
site_start - 2 (страница контекста ru)
site_url - http://ru.booking.online
use_alias_path - Да
Сайт размещен отдельном сервере (Ubuntu + Nginx + Php7-fpm + mySql), настроен по этой инструкции. Предполагаю, что ошибка кроется в не правильной настройке Nginx для работы с субдоменом ru, а именно в файле /etc/nginx/sites-available/tripbooking.conf.upstream backend-booking {server unix:/var/run/php/php7-booking.sock;}
server {
listen 80;
server_name booking.online www.booking.online;
root /var/www/booking/www;
access_log /var/log/nginx/booking-access.log;
error_log /var/log/nginx/booking-error.log;
index index.php index.html;
rewrite_log on;
if ($host != 'booking.online' ) {
rewrite ^/(.*)$ http://booking.online/$1 permanent;
}
location ~* ^/core/ {
deny all;
}
location / {
try_files $uri $uri/ @rewrite;
}
location /index.html {
rewrite / / permanent;
}
location ~ ^/(.*?)/index\.html$ {
rewrite ^/(.*?)/ // permanent;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass backend-booking;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
access_log off;
expires 10d;
break;
}
location ~ /\.ht {
deny all;
}
}
server {
listen 80;
server_name ru.booking.online www.ru.booking.online;
root /var/www/booking/www;
access_log /var/log/nginx/booking-access.log;
error_log /var/log/nginx/booking-error.log;
index index.php index.html;
rewrite_log on;
if ($host != 'ru.booking.online' ) {
rewrite ^/(.*)$ http://ru.booking.online/$1 permanent;
}
location ~* ^/core/ {
deny all;
}
location / {
try_files $uri $uri/ @rewrite;
}
location /index.html {
rewrite / / permanent;
}
location ~ ^/(.*?)/index\.html$ {
rewrite ^/(.*?)/ // permanent;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass backend-booking;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
access_log off;
expires 10d;
break;
}
location ~ /\.ht {
deny all;
}
}
Спасибо всем, кто посчитает возможным оказать мне помощь в решении данной проблемы. Комментарии: 2
В настройках контекста ru добавь слэш в конце:
site_url - http://ru.booking.online/
Спасибо — все работает! Как часто мы не замечаем очевидное — надо было всего лишь добавить слэш.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.