nginx переписывание с окнами drupal

это первый раз, когда я использую nginx, и у меня есть две проблемы с ним, первая заключается в том, что я хочу перенаправить http: // localhost / project автоматически в http: // localhot / project / en / и en – подкаталог на проект.

Вторая проблема: в localhost / project / en / i можно видеть, что index.php i означает главную страницу, но каждое перенаправление из проекта дает мне 404, не найденный как localhost / project / en / people / или localhost / project / en / люди / Article1

NB: я использую nginx в окнах с drupal и. вот моя конфигурация:

worker_processes 1; events { worker_connections 1024; } http { server_tokens on; sendfile on; tcp_nopush on; tcp_nodelay on; ssi off; #Timeouts client_body_timeout 5; client_header_timeout 5; keepalive_timeout 25 25; send_timeout 15s; resolver_timeout 3s; #Directive sets timeout period for connection with FastCGI-server. It should be noted that this value can't exceed 75 seconds. fastcgi_connect_timeout 5s; #Directive sets the amount of time for upstream to wait for a fastcgi process to send data. Change this directive if you have long running fastcgi processes that do not produce output until they have finished processing. If you are seeing an upstream timed out error in the error log, then increase this parameter to something more appropriate. fastcgi_read_timeout 400s; #Directive specifies request timeout to the server. The timeout is calculated between two write operations, not for the whole request. If no data have been written during this period then serve closes the connection. fastcgi_send_timeout 150s; fastcgi_buffers 8 32k; fastcgi_buffer_size 32k; #fastcgi_busy_buffers_size 256k; #fastcgi_temp_file_write_size 256k; open_file_cache off; #php max upload limit cannot be larger than this client_max_body_size 8m; ####client_body_buffer_size 1K; client_header_buffer_size 1k; large_client_header_buffers 2 1k; types_hash_max_size 2048; include nginx.mimetypes.conf; default_type text/html; ## # Logging Settings ## access_log "c:/wt-nmp/log/nginx_access.log"; error_log "c:/wt-nmp/log/nginx_error.log" warn; #debug or warn log_not_found on; #enables or disables messages in error_log about files not found on disk. rewrite_log off; #Leave this off fastcgi_intercept_errors off; gzip off; index index.php index.htm index.html; server { listen 127.0.0.1:80 default_server; #listen [::1]:80 ipv6only=on; server_name localhost; root "c:/wt-nmp/www/"; autoindex on; allow 127.0.0.1; #allow ::1; deny all; # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { # deny all; } location /project { index index.php; try_files $uri $uri/ @handler; } location @handler { rewrite / /project/en/index.php; } location ~ ^/en/ { root "c:/wt-nmp/www/project"; try_files $uri $uri/ /en/index.php?$args; } #tools are now served from wt-nmp/include/tools/ location ~ ^/tools/.*\.php$ { root "c:/wt-nmp/include"; try_files $uri =404; include nginx.fastcgi.conf; fastcgi_pass php_farm; } location ~ ^/tools/ { root "c:/wt-nmp/include"; } location ~ \.php$ { # try_files $uri =404; # fastcgi_pass php_farm; fastcgi_pass 127.0.0.1:9000; include nginx.fastcgi.conf; } } include domains.d/*.conf; include nginx.phpfarm.conf; } 

Инструкции по установке стека WPN-XM для Drupal 7 с «Чистыми URL-адресами»

Шаги установки:

  1. Загрузите http://ftp.drupal.org/files/projects/drupal-7.34.zip
  2. Извлечение в c: \ wpn-xm \ www
  3. переименовать версию папки в «drupal» = полный путь к drupal = c: \ wpn-xm \ www \ drupal
  4. запустить drupal install – http: //localhost/drupal/install.php
  5. активировать отсутствующие расширения PHP: возможно, gd2, mbstring, а затем перезапустить php
  6. перезагрузите страницу установки, все зеленые, перейдите к диалоговому окну базы данных
  7. перед заполнением диалога базы данных создайте базу данных «drupal» в администраторе, затем используйте это как db в диалоговом окне
  8. выполните шаги установки до завершения

Обзор: http: // localhost / drupal / Хорошо, вы только что установили Drupal на localhost.


URL-адреса и чистые URL-адреса Шаги:

После установки требуется 3 вещи, чтобы получить короткие URL-адреса:

  1. предоставить новый хост " http://drupal.dev "
  2. добавить конфигурацию Nginx для перезаписи URL-адресов
  3. включение «Очистить URL-адреса» в конфигурации Drupal

Важное замечание

Короткие / хорошие / чистые URL-адреса работают только для URL-адресов, начинающихся с « http://drupal.dev/ », а не для «localhost». Использование мегафона: не работает с « http: // localhost / …» – используйте « http://drupal.dev/ …».


  1. Добавить файл "drupal.dev" в файл hosts

Вам нужно добавить «drupal.dev» в ваш файл «hosts».

  • вручную или
  • через панель управления сервером WPN-XM – Шаги:
    • значок правой кнопки мыши – «Управление хостами»
    • "Добавить" – данные "127.0.01" "drupal.dev"
    • Нажмите «ОК».
    • Откроется диалоговое окно «Разрешения Windows».
    • Нажмите «ОК», чтобы разрешить запись в файл «hosts».
    • Если инструмент Антивируса блокирует запись в файл hosts, отключите его, повторите шаги, включите его снова.

Проверьте: http://drupal.dev/?q=admin – ok

  1. ** Добавить сервер Nginx для Drupal7 **

Используйте следующий конфигурационный файл Nginx, чтобы активировать переписывание URL-адресов:

https://github.com/WPN-XM/software/blob/master/nginx/config/conf/domains-disabled/drupal7.conf

Вы можете использовать директиву include в своем основном nginx.conf для ее загрузки.

Перезапустите или перефразируйте Nginx, чтобы активировать новую конфигурацию.

Теперь вы можете начать использовать URL-адрес « http://drupal.dev » в своем браузере.

Важным является следующая директива в блоке сервера

 # Make site accessible from http://drupal.dev/ server_name drupal.dev; 

и правило rewrite ^/(.*)$ /index.php?q=$1; ,

Проверьте: http://drupal.dev/admin


  1. Активировать «Очистить URL-адреса» в конфигурации Drupal

Ссылки в меню должны появиться в форме «Чистый URL» без «? Q =».

Заключительные проверки:

Готово.