We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Вопрос по ЧПУ
Вопрос по ЧПУ
Данные сервера:
Debian+VestaCP
nginx+phpfpm
Мой форум работает на движке Xenforo. В админке есть функция:
Использовать ЧПУ-ссылки
При включении этой опции, ссылки, сгенерированные системой, не будут включать в себя "index.php?". Однако, чтобы эта функция работала, на сервере должен быть включен модуль mod_rewrite, и соответствующий .htaccess файл должен храниться в корневой папке форума.
Как только я включаю ЧПУ, и пытаюсь войти в какую-либо тему, валится ошибка 404.
Установил я mod_rewrite:
В .htaccess:
В офф документации Xenforo написано следующее:
Для активации ЧПУ на Nginx серверах добавьте следующий код в конфигурационный файл своего сервера:
Вот и возник вопрос, что за конфигурационный файл имеется ввиду? /etc/nginx/nginx.conf? Правильно?
До этого держал этот форум на хостинге и проблем не имел. А вот переехал к себе, столкнулся с этим вопросом.
Debian+VestaCP
nginx+phpfpm
Мой форум работает на движке Xenforo. В админке есть функция:
Использовать ЧПУ-ссылки
При включении этой опции, ссылки, сгенерированные системой, не будут включать в себя "index.php?". Однако, чтобы эта функция работала, на сервере должен быть включен модуль mod_rewrite, и соответствующий .htaccess файл должен храниться в корневой папке форума.
Как только я включаю ЧПУ, и пытаюсь войти в какую-либо тему, валится ошибка 404.
Установил я mod_rewrite:
Code: Select all
a2enmod rewrite
Code: Select all
<IfModule mod_rewrite.c>
RewriteEngine On
# If you are having problems with the rewrite rules, remove the "#" from the
# line that begins "RewriteBase" below. You will also have to change the path
# of the rewrite to reflect the path to your XenForo installation.
#RewriteBase /xenforo
# This line may be needed to enable WebDAV editing with PHP as a CGI.
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
Для активации ЧПУ на Nginx серверах добавьте следующий код в конфигурационный файл своего сервера:
Code: Select all
location /xf/ {
try_files $uri $uri/ /xf/index.php?$uri&$args;
index index.php index.html;
}
location /xf/internal_data/ {
internal;
}
location /xf/library/ {
internal;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
До этого держал этот форум на хостинге и проблем не имел. А вот переехал к себе, столкнулся с этим вопросом.
Re: Вопрос по ЧПУ
Если прописываю в /etc/nginx/nginx.conf?, то nginx после перезапуска вообще не поднимается...
-
- Support team
- Posts: 1047
- Joined: Fri Mar 21, 2014 7:49 am
- Contact:
- Os: CentOS 6x
- Web: apache + nginx
Re: Вопрос по ЧПУ
Имеется ввиду файл
ищите в нем секцию, которая отвечает за нужный домен и правьте
Code: Select all
/home/%username%/conf/web/[s]nginx.conf
Re: Вопрос по ЧПУ
Вообщем пытаюсь вписывать, не выходит:
Модуль mod_rewrite установлен. Если верить офф документации под nginx: https://xenforo.com/help/friendly-urls/. Я должен вписать в конфиг под nginx:
Собственно что я и делаю:
Перезапускаю nginx. Увы все равно ошибка 404 при входе в темы... Не могу понять, что не так... Может я не правильно вписываю?
По дефолту локейшен у меня такой:
Модуль mod_rewrite установлен. Если верить офф документации под nginx: https://xenforo.com/help/friendly-urls/. Я должен вписать в конфиг под nginx:
Code: Select all
location /xf/ {
try_files $uri $uri/ /xf/index.php?$uri&$args;
index index.php index.html;
}
location /xf/install/data/ {
internal;
}
location /xf/install/templates/ {
internal;
}
location /xf/internal_data/ {
internal;
}
location /xf/library/ {
internal;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Code: Select all
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location /сайт.ру/ {
try_files $uri $uri/ /сайт.ру/index.php?$uri&$args;
index index.php index.html;
}
location /сайт.ру/install/data/ {
internal;
}
location /сайт.ру/install/templates/ {
internal;
}
location /сайт.ру/internal_data/ {
internal;
}
location /сайт.ру/library/ {
internal;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
По дефолту локейшен у меня такой:
Code: Select all
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9003;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
Re: Вопрос по ЧПУ
Решил ли свою проблему? Столкнулся с аналогичной задачей, интересует решение.sag-sag wrote:Данные сервера:
Debian+VestaCP
nginx+phpfpm
Мой форум работает на движке Xenforo. В админке есть функция:
Использовать ЧПУ-ссылки
При включении этой опции, ссылки, сгенерированные системой, не будут включать в себя "index.php?". Однако, чтобы эта функция работала, на сервере должен быть включен модуль mod_rewrite, и соответствующий .htaccess файл должен храниться в корневой папке форума.
Как только я включаю ЧПУ, и пытаюсь войти в какую-либо тему, валится ошибка 404.
Установил я mod_rewrite:В .htaccess:Code: Select all
a2enmod rewrite
В офф документации Xenforo написано следующее:Code: Select all
<IfModule mod_rewrite.c> RewriteEngine On # If you are having problems with the rewrite rules, remove the "#" from the # line that begins "RewriteBase" below. You will also have to change the path # of the rewrite to reflect the path to your XenForo installation. #RewriteBase /xenforo # This line may be needed to enable WebDAV editing with PHP as a CGI. #RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L] RewriteRule ^.*$ index.php [NC,L] </IfModule>
Для активации ЧПУ на Nginx серверах добавьте следующий код в конфигурационный файл своего сервера:Вот и возник вопрос, что за конфигурационный файл имеется ввиду? /etc/nginx/nginx.conf? Правильно?Code: Select all
location /xf/ { try_files $uri $uri/ /xf/index.php?$uri&$args; index index.php index.html; } location /xf/internal_data/ { internal; } location /xf/library/ { internal; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
До этого держал этот форум на хостинге и проблем не имел. А вот переехал к себе, столкнулся с этим вопросом.
Re: Вопрос по ЧПУ
Nginx настолько гибкий что все ваши проблемы решаются в пару строк. Тут форум панели управления, а не шаблонами по факту для панели, учебников в интернете и даже конвертилок с апач конфигов в пхп-фпм для нжинкса просто куча.
Я сам много лет назад задавался подобными вопросами про xenforo итп, благополучно все сам допилил. Универсальных конфигов прям вот что бы коробочно работало - вам дали с вестой, далее каждый кастомит под себя. Если я скину свой конфиг - у вас он работать не будет, тк у меня своеобразно все настроено и ваш стоковый нжинкс даже не стартанет с ними. У каждого движка есть мануал как запустить его на пхп-фпм и даже как работать с кешированием мимо пхп, просто погуглите ненмого.
Я сам много лет назад задавался подобными вопросами про xenforo итп, благополучно все сам допилил. Универсальных конфигов прям вот что бы коробочно работало - вам дали с вестой, далее каждый кастомит под себя. Если я скину свой конфиг - у вас он работать не будет, тк у меня своеобразно все настроено и ваш стоковый нжинкс даже не стартанет с ними. У каждого движка есть мануал как запустить его на пхп-фпм и даже как работать с кешированием мимо пхп, просто погуглите ненмого.