суббота, 1 ноября 2014 г.

wordpress, nginx и ЧПУ

В новом проекте на wordpress 4, после установки, как всегда настраиваю ЧПУ
Делаем так:
Переходим -> Параметры - Постоянные ссылки, указать произвольные ссылки - /%category%/%postname%.html
Если не нужно отображение категорий (хотя так удобнее)
/%postname%.html
и да, html полезная штука)
Ставим плагин Cyr-To-Lat, активируем, и все работает. По крайней мере, должно...

В общем, все как обычно, но не тут то было, при переходе на дефолтную запись - Привет, мир.
Видим ошибку - 404!
Я думал, проблема в плагине, попробовал Cyr-To-Lat Enhanced, тот же результат.
Стал думать, оказалось, все просто. На сервере - Nginx, а не обычный Apache
Смотрим и правим, если у вас Apache, правим htaccess:

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

Если же, стоит Nginx, как в моем случае добавляем в настройки сервера
 ngx_http_rewrite_module

location / { try_files $uri @wordpress; } location @wordpress { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root/index.php; include fastcgi_params; }

Вот такие делы) Удачи.