2015-11-20 2 views
0

У нас есть wordpress, установленный в подкаталоге нашего сервера NGINX. Мы хотим, чтобы наш URL-адрес блога выглядел примерно так: www.example.com/blog. Отдельные сообщения в блогах должны быть похожи на www.example.com/blog/post-name. Для этого, когда мы переходим в меню настройки-> permalinks в wordpress и меняем его на Post Name from Default, он начинает выдавать ошибку. Но он отлично работает, когда мы оставляем его по умолчанию (www.example.com/blog/?p=123). Каталог блогов находится в папке html в nginx. Мы сделали следующие записи в nginx.conf файле:URL-адрес для SEO (постоянные ссылки) не работает для Wordpress на NGINX

location /blog { 

root /usr/share/nginx/html; 
index index.html index.php; 
try_files $uri $uri/ /index.php?$args; 

location ~ \.php$ { 
include fastcgi_params; 
fastcgi_param PATH_INFO $fastcgi_path_info; 
fastcgi_index index.php; 
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
fastcgi_pass 127.0.0.1:9000; 
} 
} 

блог каталог установлен на том же уровне, что и папка для нашего основного сайта (example.com). Что мы делаем неправильно?

+0

это 404 ошибки? если так вы проверили, я думаю, что ваши настройки Apache позволяют использовать rewrite_module. –

+0

. Мы используем nginx, а встроенный rewrite_module. http://serverfault.com/questions/305780/how-to-enable-the-rewrite-feature-in -nginx-1-0-5 –

ответ

1

Попробуйте это,

location /blog/ { 
    root /usr/share/nginx/html; 
    index index.html index.php; 
    try_files $uri $uri/ /blog/index.php?$args; 
} 
+0

Это сработало! Благодаря тонну! –

+0

Только одно: теперь wordpress не может выбрать любой из наших файлов css/js/image. Нужно ли нам указывать какую-либо конкретную запись для этого? –

+0

@VikalpJain вы решили? – David

0

Если бы подобный вопрос, и я добавил это в моем Nginx конф, чтобы заставить его работать на WordPress /index.php/permalink URLs в Nginx hhvm 3,21

Добавление этого для ссылка каждого:

location/{ 

    ... 
    fastcgi_param SCRIPT_FILENAME $document_root/index.php$fastcgi_script_name; 


} 

или

location/{ 

    rewrite ^/([^\.]+)$ /index.php/$1 break; 

} 

Убедитесь, что вы используете FastCGI, а не версии сервера (в серверной версии вы можете получить слишком много переадресаций из-за перезапись)

  • ПРОТЕСТИРОВАННОго
  • QA ПРОШЛО
Смежные вопросы