【问题标题】:How to set up Clean url for Drupal with Nginx in localhost如何在 localhost 中使用 Nginx 为 Drupal 设置 Clean url
【发布时间】:2013-08-25 17:58:37
【问题描述】:

我在本地主机中设置了一个 nginx 服务器 所以现在我想为此服务器启用干净的 url

(将 localhost/drupalsite/?q=abc 更改为 localhost/drupalsite/abc)

我尝试了一些教程,但它们对我不起作用

http://wiki.nginx.org/Drupal
https://drupal.org/node/976392
http://richardbanks.net/blog/2012/11/nginx-url-rewrites-the-correct-method

这是 nginx.conf 文件中的一些基本配置

server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  /var/log/nginx/host.access.log  main;

        location / {
            root   /srv/nginx/www/nginx_htdocs/;
            index  index.html index.htm index.php;

        }


        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /srv/nginx/www/nginx_htdocs/;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #fastcgi_param SCRIPT_FILENAME $request_filename;
            #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME  /srv/nginx/www/nginx_htdocs/$fastcgi_script_name;

            include        fastcgi_params;
        }

        #--------------- TUNG CUSTOM





        #------------- END CUSTOM

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

【问题讨论】:

    标签: php drupal nginx drupal-7 clean-urls


    【解决方案1】:

    Here's a gist 的完整配置可以很好地与 Drupal 的干净 URL 配合使用

    【讨论】:

      【解决方案2】:

      您必须尝试将未找到的 url 作为 index.php 的可能查询字符串处理(如果这就是 Drupal 的工作方式,我不确定)。

      例如,在您的第一个位置块中:

      location / {
             root   /srv/nginx/www/nginx_htdocs/;
             index  index.html index.htm index.php;
             try_files $uri $uri/ /index.php?$request_uri;
          }
      

      这样的话,如果

      `http://mysite.com/xyz` 
      

      不匹配任何文件或文件夹,以

      的形式交给index.php
      `http://mysite.com/index.php?xyz` 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-04
        • 2014-09-07
        • 2020-03-20
        • 2021-01-25
        • 1970-01-01
        • 1970-01-01
        • 2018-08-19
        • 2012-09-11
        相关资源
        最近更新 更多