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