Топик 404 not found (Решено)

Пробую перенести сайт на базе LS-0.4.2 на VDS хостинг. Веб-сервер nginx+apche. При попытке открыть любой топик nginx отдаёт 404, при этом все остальные ссылки работают (открываются профили, клубы, теги, работает пагинация, стена и т.д). Поиск по теме ничего не дал. Подскажите, пожалуйста, в чём может быть проблема.

23 комментария

avatar
Обожаю это сообщество. За "-", конечно спасибо, но мне от него ни горячо, ни холодно. Хотелось бы чуточку больше конструктивизма, если уж не в решении проблемы, то хотя бы объяснить чем вызвано недовольство. Я осознаю, что мог некорректно поставить вопрос, так наставьте на путь истинный, а то какой сакральный смысл кроется в безликом минусе мне не понятно.
avatar
Скорее всего проблема в реврайтах. Тут есть темы по настройке htaccess, но по идеи с дефолтным должно работать правильно, попробуйте перезалить его.

Так же возможно стоял какой-то ЧПУ плагин, который почему-то не активирован на новом сервере.
avatar
NiceUrl активирован, .htaccess дефолтный. Почему-то не доступны только топики, их даже написать можно, правда при нажатии «опубликовать» так же 404, но на главной топик появляется.
Я уже всё, что есть по теме 404 перепробовал:
И в .htaccess RewriteRule ^(.*)$ ./index.php на RewriteRule ^(.*)$ /index.php менял,
и multiviews отключал.
права к папкам 755, права к файлам на чтение и запись владельцу группы.
Уже всю голову поломал.
avatar
Попробуйте развернуть сайт на локальной машине под опенсервером или денвером, если работает как надо, тогда надо смотреть в сторону настройки вашего VPS.
avatar
На Денвере всё тоже самое.
avatar
Попробуйте отключить ЧПУ, и написать какой нибудь топик.
avatar
Что в логах???
  • ff00
  • 0
avatar
errorlog nginx

2015/09/14 14:18:00 [error] 12038#0: *1 open() "/var/www/p-port.ru/kulinaria/2011/12/09/okorok-v-apelsinovoy-glazuri-s-pechenymi-yablokami.html" failed (2: No such file or directory), client: 176.209.221.58, server: p-port.ru, request: «GET /kulinaria/2011/12/09/okorok-v-apelsinovoy-glazuri-s-pechenymi-yablokami.html HTTP/1.1», host: «p-port.ru», referrer: «p-port.ru/»

apache_access:

2015/09/14 14:18:00 [error] 12038#0: *1 open() "/var/www/p-port.ru/kulinaria/2011/12/09/okorok-v-apelsinovoy-glazuri-s-pechenymi-yablokami.html" failed (2: No such file or directory), client: 176.209.221.58, server: p-port.ru, request: «GET /kulinaria/2011/12/09/okorok-v-apelsinovoy-glazuri-s-pechenymi-yablokami.html HTTP/1.1», host: «p-port.ru», referrer: «p-port.ru/»

apache_error.log и sql_error.log пусты
avatar
Извиняюсь, жаль нельзя поправить коммент
apache_access:

127.0.0.1 — - [14/Sep/2015:14:17:37 +0300] «POST /plugins/aceblockmanager/include/ajax/getUsersonline.php?security_ls_key=42ba87d1353320ad3d71bcfb1fd5dc6e&PHPSESSID=f9h9i4r7kku2qogus7uojmh857&JsHttpRequest=14422294545493-xml HTTP/1.0» 200 610 «p-port.ru/» «Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36»
127.0.0.1 — - [14/Sep/2015:14:17:57 +0300] «POST /plugins/aceblockmanager/include/ajax/getUsersonline.php?security_ls_key=42ba87d1353320ad3d71bcfb1fd5dc6e&PHPSESSID=f9h9i4r7kku2qogus7uojmh857&JsHttpRequest=14422294745634-xml HTTP/1.0» 200 611 «p-port.ru/» «Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36»
avatar
А в .htaccess есть такие строки?
RewriteEngine On
RewriteRule ^(.*)$ ./index.php

Судя по логу у Вас GET запрос не перенаправляется в index.php
avatar
Да, есть. И с (.) перед /index.php и без (был такой вариант в одном из топиков) пробовал.
avatar
Как вариант:
Либо в конфиге апаче для вирт. сервера пропишите
Options Indexes FollowSymLinks

Проверьте что там нет
Options MultiViews

Либо в .htaccess добавьте
Options -Indexes
Options +FollowSymLinks
Options -MultiViews
avatar
конфиг апач для хоста:
<VirtualHost *:8080>
           # Осн. настройки домена
           ServerAdmin administrator@p-port.ru
           ServerName www.p-port.ru
           ServerAlias p-port.ru

                   DocumentRoot /var/www/p-port.ru/
Include php52.conf
          <Directory /var/www/p-port.ru/>
          Options Indexes FollowSymLinks
          AllowOverride All
          Order allow,deny
          allow from all
          </Directory>

          LogLevel warn
          ErrorLog  /var/www/p-port.ru/logs/apache_error.log
          CustomLog /var/www/p-port.ru/logs/apache_access.log combined

                   </VirtualHost>


Увы не работает, rewrite_module в apache подключен.
avatar
Очень похоже на проблему с настройками виртуального хоста nginx…
avatar
настройки хоста nginx
server {
             listen *:80; # listen for ipv4
             server_name p-port.ru www.p-port.ru;
             access_log /var/log/nginx/access.log;
             # Перенаправление на back-end
             location / {
             proxy_pass http://127.0.0.1:8080; # говорим перенаправлять на локальный хост, на порт 8080, там "встретит" apache
             proxy_set_header Host $host; # далее просто передаём заголовки запроса
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $remote_addr;
             proxy_connect_timeout 120; # далее тайм-ауты на соединение, отправку и чтение ответа от бэкэнда
             proxy_send_timeout 120;
             proxy_read_timeout 180;
                        }
			 location ~ ^/phpmyadmin/ {        proxy_pass http://127.0.0.1:8080;    } 
             # Статическиое наполнение отдает сам nginx
             # back-end этим заниматься не должен
             location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
             root /var/www/p-port.ru; # для сайта который прописан в директиве server_name
             }
             }
avatar
попробуйте сверху добавить:
server {
    listen 80;
    server_name www.p-port.ru;
    return 301 $scheme://p-port.ru$request_uri;
}
avatar
Не помогло :(
avatar
Если добавить
error_page 404 /404.php;

то 404 отдаёт уже ЛС, а не Nginx, но сути дела не меняет.
avatar
а у вас в конфигах eva-lution.ru нигде не фигурирует?
некоторые картинки вообще на eva-lution.ru.host1235910.serv15.hostland.ru
avatar
Проверил, в конфигах p-port.ru. Собственно я хочу перенести eva-lution.ru на VDS другого хостера с этим доменным именем, но поскольку подводных камней куча, дабы сайт был недоступен наименьшее время решил отрепетировать на имеющемся домене p-port.ru с VDS. Я установил чистую 0.4.2, а затем скинул папки classes, engine, include, plugins, templates и uploads из одного из дампов, из того же дампа импортировал базу.
Прошёлся поискам по всем этим папкам, нигде не упоминается eva-lution.ru, хотя и правда урл картинок со страницы указывает этот адрес, что вообще вводит в ступор.
avatar
Разобрался, ссылка на eva-lution.ru содержится в БД в теле топика исключительно на картинки, что на отображение топика в целом никак не должно сказываться. Может для топиков где-то права другие выставлять надо, ведь всё остальное-то работает.
avatar
В конфиге nginx из это строки
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {

нужно убрать html
  • ort
  • +1
avatar
Огромное человеческое спасибо Вам! Я бы в жизни не нашёл.
А вообще спасибо всем, кто пытался помочь.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.