2017-01-23 2 views
0

Я использую расширение интеграции Magento2 и Fishpig WordPress и использование сервера Nginx. Каталог Wordpress находится на корневом пурпуре с именем «wp».Настройка Wordpress с Magento с использованием Ngix показывает 404 Ошибка

Magento отлично работает и отображает содержимое блога, но при доступе к URL-адресу администратора или интерфейсу WordPress он показывает, что страница ошибок 404 не найдена.

После исследования я обнаружил, что мы должны выполнить настройку в файле конфигурации Nginx (/ etc/Nginx/sites-available) и настроить расположение каталога wp.

Ниже код, который я пытался добавить в Nginx Config файл

location /wp { 
    index index.php index.html index.htm; 
    try_files $uri $uri/ /wp/index.php?$args; 
} 

location /wp { 
    index index.php index.html index.htm; 
    try_files $uri $uri/ /index.php?$args; 
} 

location /wp/wp-admin/ { 
    index index.php index.html index.htm; 
    try_files $uri $uri/ /wp/wp-admin/index.php?$args; 
} 

Ниже приведены некоторые URL, которые я пережил -:

Nginx configuration for a wordpress blog in a subfolder of magento root

https://codex.wordpress.org/Nginx

https://www.getpagespeed.com/web-apps/magento-wordpress-integration-nginx

Ниже мой файл Nginx.

server { 
     listen 80; 
     listen [::]:80; 

     listen 443 ssl; 
     listen [::]:443 ssl; 

     server_name magento.online.com; 
     set $MAGE_ROOT /var/www/html/prod; 

     ssl_certificate /etc/nginx/ssl/nginx.crt; 
     ssl_certificate_key /etc/nginx/ssl/nginx.key; 

     root $MAGE_ROOT/pub; 

     index index.php; 
     autoindex off; 
     charset UTF-8; 
    #@raj 
     error_page 404 403 = /errors/404.php; 
     #add_header "X-UA-Compatible" "IE=Edge"; 

     # PHP entry point for setup application 
     location ~* ^/setup($|/) { 
      root $MAGE_ROOT; 
      location ~ ^/setup/index.php { 
       fastcgi_pass fastcgi_backend; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       include  fastcgi_params; 
      } 

      location ~ ^/setup/(?!pub/). { 
       deny all; 
      } 

      location ~ ^/setup/pub/ { 
       add_header X-Frame-Options "SAMEORIGIN"; 
      } 
     } 

     # PHP entry point for update application 
     location ~* ^/update($|/) { 
      root $MAGE_ROOT; 

      location ~ ^/update/index.php { 
       fastcgi_split_path_info ^(/update/index.php)(/.+)$; 
       fastcgi_pass fastcgi_backend; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       fastcgi_param PATH_INFO  $fastcgi_path_info; 
       include  fastcgi_params; 
      } 

      # Deny everything but index.php 
      location ~ ^/update/(?!pub/). { 
       deny all; 
      } 

      location ~ ^/update/pub/ { 
       add_header X-Frame-Options "SAMEORIGIN"; 
      } 
     } 

     location/{ 
      try_files $uri $uri/ /index.php?$args; 
     } 

    #wordpress Code 
    # location /wordpress/ { 
    #  try_files $uri $uri/ /wordpress/index.php?$args; 
    # } 


     location /wp/wp-admin/ { 
     index index.php index.html index.htm; 
     try_files $uri $uri/ /wp/wp-admin/index.php?$args; 
     } 



    # location /wp/wp-admin/ { 
    #  index index.php index.html index.htm; 
    #   try_files $uri $uri/ /index.php?$args; 
    # } 

#End of code 

     location /pub/ { 
      location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) { 
       deny all; 
      } 
      alias $MAGE_ROOT/pub/; 
      add_header X-Frame-Options "SAMEORIGIN"; 
     } 

     location /static/ { 
      # Uncomment the following line in production mode 
      # expires max; 

      # Remove signature of the static files that is used to overcome the browser cache 
      location ~ ^/static/version { 
       rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last; 
      } 

      location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { 
       add_header Cache-Control "public"; 
       add_header X-Frame-Options "SAMEORIGIN"; 
       expires +1y; 

       if (!-f $request_filename) { 
        rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; 
       } 
      } 
      location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { 
       add_header Cache-Control "no-store"; 
       add_header X-Frame-Options "SAMEORIGIN"; 
       expires off; 

       if (!-f $request_filename) { 
       rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; 
       } 
      } 
      if (!-f $request_filename) { 
       rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; 
      } 
      add_header X-Frame-Options "SAMEORIGIN"; 
     } 

     location /media/ { 
      try_files $uri $uri/ /get.php?$args; 

      location ~ ^/media/theme_customization/.*\.xml { 
       deny all; 
      } 

      location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { 
       add_header Cache-Control "public"; 
       add_header X-Frame-Options "SAMEORIGIN"; 
       expires +1y; 
       try_files $uri $uri/ /get.php?$args; 
      } 
      location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { 
       add_header Cache-Control "no-store"; 
       add_header X-Frame-Options "SAMEORIGIN"; 
       expires off; 
       try_files $uri $uri/ /get.php?$args; 
      } 
      add_header X-Frame-Options "SAMEORIGIN"; 
     } 

     location /media/customer/ { 
      deny all; 
     } 

     location /media/downloadable/ { 
      deny all; 
     } 

     location /media/import/ { 
      deny all; 
     } 

     # PHP entry point for main application 
     location ~ (index|get|static|report|404|503)\.php$ { 
      try_files $uri =404; 
      fastcgi_pass fastcgi_backend; 
      fastcgi_buffers 1024 4k; 

      fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off"; 
      fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=600"; 
      fastcgi_read_timeout 600s; 
      fastcgi_connect_timeout 600s; 

      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      include  fastcgi_params; 
     } 

     gzip on; 
     gzip_disable "msie6"; 

     gzip_comp_level 6; 
     gzip_min_length 1100; 
     gzip_buffers 16 8k; 
     gzip_proxied any; 
     gzip_types 
      text/plain 
      text/css 
      text/js 
      text/xml 
      text/javascript 
      application/javascript 
      application/x-javascript 
      application/json 
      application/xml 
      application/xml+rss 
      image/svg+xml; 
     gzip_vary on; 

     # Banned locations (only reached if the earlier PHP entry point regexes don't match) 
     location ~* (\.php$|\.htaccess$|\.git) { 
      deny all; 
     } 


    } 


    # 
    ## Optional override of deployment mode. We recommend you use the 
    ## command 'bin/magento deploy:mode:set' to switch modes instead. 
    ## 
    ## set $MAGE_MODE default; # or production or developer 
    ## 
    ## If you set MAGE_MODE in server config, you must pass the variable into the 
    ## PHP entry point blocks, which are indicated below. You can pass 
    ## it in using: 
    ## 
    ## fastcgi_param MAGE_MODE $MAGE_MODE; 
    ## 
    ## In production mode, you should uncomment the 'expires' directive in the /static/ location block 

Любая помощь будет действительно оценена.

ответ

0

При интеграции WordPress в Magento вам не нужно делать ничего особенного с переписаниями, которые вы бы не делали, как обычно, чтобы заставить WordPress работать с Nginx.

Возможно, вам даже не нужны перезаписи. Перезаписи существуют для маршрутизации всех запросов frontend через index.php, чтобы обеспечить довольно SEO-URL. Эта функциональность WordPress не используется, поскольку интерфейс отображается Magento, поэтому переписывание может не понадобиться. Все запросы к администратору WordPress относятся к файлам, которые существуют, и поэтому переписывание не требуется.

Смежные вопросы