Не применяется шаблон к ресурсам
Подскажите подалуйста в чем может быть проблема, если создать новый шаблон, потом создать новый ресурс и применить к нему новый шаблон, то перейдя на эту страницу я вижу шаблон который стоит у главной страницы.
На скриншоте видно, что шаблон применен «Новости», но отображается главный шаблон. На всех страницах отображается шаблон главной страницы. В базе все верно назначено.
На скриншоте видно, что шаблон применен «Новости», но отображается главный шаблон. На всех страницах отображается шаблон главной страницы. В базе все верно назначено.
Комментарии: 7
Так, если выключить ЧПУ, то все работает, тогда другой вопрос, как правильно настроить ЧПУ на nginx, в данный момент стоит так
location / {
try_files $uri $uri/ /index.php?r=$request_uri;
}
Стандартный код с modhost.pro
location / {
try_files $uri $uri/ @rewrite;
}
location ~* ^/core/ {
deny all;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
try_files $uri $uri/ @rewrite;
access_log off;
expires 10d;
break;
}
Получился вот такой код вместе с вашим
Главная страница работает, остальные 500 ошибка
server {
listen 80;
root /data/sites/telegraf_ml/;
index index.php index.html index.htm;
server_name telegraf.ml;
location / {
try_files $uri $uri/ @rewrite;
}
location ~* ^/core/ {
deny all;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
try_files $uri $uri/ @rewrite;
access_log off;
expires 10d;
break;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Главная страница работает, остальные 500 ошибка
Ваш код рабочий, просто не хватает вот этой части
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
Рабочий вариант:
server {
listen 80;
root /data/sites/domain_folder/;
index index.php index.html index.htm;
server_name www.domain.com domain.com;
location / {
if ($http_host !~ "^domain\.com") {
rewrite ^(.*)$ http://domain.com$1 redirect;
}
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~* ^/core/ {
deny all;
}
location ~ /\.ht {
deny all;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
try_files $uri $uri/ @rewrite;
access_log off;
expires 10d;
break;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Кто нибудь знает настройку nginx что бы скрыть index.php, на пример такой адрес domain.com/index.php превратить в domain.com. Главное что бы это не вызывало ошибок в админке.
Оставлю тут, хотя бы для себя ))
Тьфу тьфу, но пока все работает как надо )
server {
listen 80;
root /data/sites/domain_folder/;
index index.php index.html index.htm;
server_name www.domain.com domain.com;
# Скрываем index.php, требуется для SEO. (в админке index.php работает как положено)
if ($request_uri = /index.php) {
rewrite ^ $scheme://$host? permanent;
}
location / {
# Редирект на домен БЕЗ WWW
if ($http_host !~ "^domain\.com") {
rewrite ^(.*)$ $scheme://domain.com$1 redirect;
}
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~* ^/core/ {
deny all;
}
location ~ /\.ht {
deny all;
}
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
try_files $uri $uri/ @rewrite;
access_log off;
expires 10d;
break;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Тьфу тьфу, но пока все работает как надо )
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.