Настройка модуля переадресации Apache

Настройка модуля переадресации Apache

Путь: Админ-панель > Общие > Базовые настройки > Общие > Модуль Apache

Модуль Apache rewrite используется для генерации SEO-дружественных URL.

  • При включенном модуле: ссылки имеют вид http://www.domain.ru/auto.html
  • При отключенном модуле: ссылки будут вида http://www.domain.ru/index.php?page=auto

По умолчанию модуль Apache rewrite включён. Мы не рекомендуем отключать эту опцию, так как это может привести к некорректной работе скрипта и некоторых плагинов.Д
Чтобы корректно работали SEO-ссылки, необходимо:

  • Убедиться, что модуль mod_rewrite включён на сервере (в настройках Apache).
  • Проверьте наличие файла .htaccess в корне скрипта и убедитесь, что он не переименован (например, в _htaccess).
  • Если сайт работает через Nginx, настройка человеко-понятных ссылок осуществляется через конфигурацию сервера вручную — в этом случае опция в админке не влияет на поведение ссылок.

Для Nginx такие человеко-понятные ссылки не включаются автоматически, как в Apache через .htaccess. Их нужно настраивать вручную в конфигурационном файле Nginx (nginx.conf или в блоке server {}). Иначе ссылки могут не работать корректно или вести на ошибки.

Если ваш сайт работает на веб-сервере Nginx, для корректной работы скрипта и формирования человеко-понятных URL необходимо прописать специальные правила обработки запросов. Обычно такие правила добавляются в отдельный конфигурационный файл, например, common.conf,который затем включается в основной конфигурационный файл сайта.

Ниже приведён рекомендуемый набор правил для корректной работы скрипта Флайнекс:

keepalive_requests 100;
keepalive_timeout 1200s;
client_max_body_size 32M;
index index.php index.html;
location / {
try_files $uri $uri/ @flynax-rewrite;
}
location @flynax-rewrite {
if ($subdomain != '') {
rewrite ^(.*)$ /index.php?page=$subdomain&wildcard&rlVareables=$request_uri last;
}
rewrite "^/api/v[0-9]+/?.*$" /plugins/api/request.php last;rewrite "^/([^//]+)/?(.*)?/index([0-9]*)(.html|/)$" /index.php?page=$1&rlVareables=$2&pg=$3 last;rewrite "^/([^/]+)(/?([^:]{2,}))?-l?([0-9]+)(.html|/)$" /index.php?page=$1&rlVareables=$3&listing_id=$4 last;# rewrite "^/((\w{2})/)?([\w-_]{3,})$" /index.php?page=$3&lang=$2&account_request last;rewrite "^/([^//]+)/?(^/*)?.html$" /index.php?page=$1 last;rewrite "^/([^//]+)/?(.*)?/?(.*)?(.html|/+)$" /index.php?page=$1&rlVareables=$2 last;rewrite "^/sitemap.xml$" /plugins/sitemap/sitemap.php last;rewrite "^/plugins/iFlynaxConnect/api.json$" /plugins/iFlynaxConnect/request.php last;rewrite "^/plugins/hybridAuthLogin/(.*)$" /plugins/hybridAuthLogin/requests.php?provider=$1 last;rewrite "^/plugins/accountSync/api/v[0-9]+/.+$" /plugins/accountSync/requests.php last;rewrite "^/(.*)\-feed\.xml(.*)" /plugins/xmlFeeds/export.php?format=$1&$2 last;# Try to get file from template_core if it's missing in templateif (!-e $request_filename){ rewrite templates\/(.*?\/)(.*)$ /templates/template_core/$2 break;}return 404;
}
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /. {
deny all;
}

При переносе сайта на новый хостинг или домен также проверьте, что модуль rewrite поддерживается и активен.

Powered by BetterDocs