404 - Другая постоянная ссылка после переноса с локального хоста (apache) на сервер nginx

Я перевел сайт Wordpress с localhost(apache) на Live server(nginx), работает только ссылка по умолчанию, а также следовал общим правилам WordPress в кодексе, но я не смог найти путь к файлу / etc / nginx / global / или / etc / Nginx / CONF / глобальные

Когда я ищу.conf файл, он показывает только эти файлы:

/home/wwwroot/my-domain/etc/nginx-host-subdomain-template.conf
/home/wwwroot/my-domain/etc/nginx-host-template.conf
/home/wwwroot/my-domain/etc/php5.2-fpm-template.conf
/home/wwwroot/my-domain/etc/php-fpm-template.conf
/home/wwwroot/my-domain/etc/main.conf
/home/wwwroot/my-domain/php-fpm/go123.conf
/home/wwwroot/my-domain/vhost/go123.conf
/home/wwwroot/my-domain/rewrite/amh.conf

Не знаю, какой файл редактировать, чтобы вставить код в кодекс. Мой первый раз, чтобы использовать nginx

2 ответа

Решение

После тех проб и ошибок, наконец, сделать это работает. Основная проблема заключается в том, что mod_rewrite не был включен, поэтому я понял, что файл находится здесь /home/wwwroot/my-domain/rewrite/amh.conf и сделал правило перезаписи для сервера nginx. Вот код:

location / {
        index index.php index.html;
        if (!-e $request_filename)
        {
                rewrite ^/(.+)$ /index.php last;
        }
}

Ура!

Я предполагаю, что ваш nginx html расположение каталога /usr/share/nginx/html и твой nginx default.conf расположение /etc/nginx/conf.d/default.conf

Хорошо, откройте nginx default.conf (/etc/nginx/conf.d/default.conf) файл в редакторе. и замените файл следующим содержимым блока сервера

server {
    listen       80;
    server_name  your-domain.com www.your-domain.com;

    client_max_body_size 128m;
    root   /usr/share/nginx/html/your-wp-root-dir;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php?q=$request_uri;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Обновить your-domain с вашим доменным именем и your-wp-root-dir с вашим именем корневого каталога wp.

а затем перезапустите сервер nginx, используя sudo service nginx restart или же sudo /etc/init.d/nginx restart

Другие вопросы по тегам