aliyun 主机Nginx 上配置Drupal 伪静态

网上找了好久没有正确的,后面直接在http://wiki.nginx.org/Drupal

上找到原文,但原文中复制过来会出现个 ‘root‘ rewrite directive is duplicate 错误和 server 第一列的错误。

对比aliyun上的预先设定的rewrite 发现它们都没有server {} 这个名,并且这个位置也在nginx -t 时报错了。

注释了报错的位置,删除了不适用于drupal 7下面的配置。

  1. /alidata/server/nginx/sbin/nginx
    -t

设置的时候用这个测试。

最后把conf 文件也设置好,重启下。

  1. /alidata/server/nginx/sbin/nginx
    -s reload

带上原文配置:

        server_name domain.tld;
       #root /var/www/drupal7; ## <-- Your only path reference.

        # Enable compression, this will help if you have for instance advagg? module
        # by serving Gzip versions of the files.
        gzip_static on;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        # This matters if you use drush prior to 5.x
        # After 5.x backups are stored outside the Drupal install.
        #location = /backup {
        #        deny all;
        #}

        # Very rarely should these ever be accessed outside of your lan
        location ~* \.(txt|log)$ {
                allow 192.168.0.0/16;
                deny all;
        }

        location ~ \..*/.*\.php$ {
                return 403;
        }

        # No no for private
        location ~ ^/sites/.*/private/ {
                return 403;
        }

        # Block access to "hidden" files and directories whose names begin with a
        # period. This includes directories used by version control systems such
        # as Subversion or Git to store control files.
        location ~ (^|/)\. {
                return 403;
        }

        location / {
                # This is cool because no php is touched for static content
                try_files $uri @rewrite;
        }

        location @rewrite {
                # You have 2 options here
                # For D7 and above:
                # Clean URLs are handled in drupal_environment_initialize().
                rewrite ^ /index.php;
                # For Drupal 6 and bwlow:
                # Some modules enforce no slash (/) at the end of the URL
                # Else this rewrite block wouldn't be needed (GlobalRedirect)
                #rewrite ^/(.*)$ /index.php?q=$1;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_intercept_errors on;
                fastcgi_pass unix:/tmp/phpfpm.sock;
        }

        # Fighting with Styles? This little gem is amazing.
        # This is for D6
        #location ~ ^/sites/.*/files/imagecache/ {
        # This is for D7 and D8
        location ~ ^/sites/.*/files/styles/ {
                try_files $uri @rewrite;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

aliyun 主机Nginx 上配置Drupal 伪静态

时间: 2024-11-09 00:38:20

aliyun 主机Nginx 上配置Drupal 伪静态的相关文章

SSL/TLS深度解析--在 Nginx上配置 HSTS、CSP 与其他

在 Nginx 上配置 HSTS HTTP响应中包含 Strict-Transport-Security 头实现网站HSTS,像下面这样配置: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload,就实现了HSTS,即-- HTTP Strict Transport Security,HTTP严格传输安全.假设TLS连接没有错误,兼容的浏览器将会在 max-age 参数指定的保留期内激活HSTS. 一旦站点

在NGINX上配置HTTPS---血的教训--要重启NGINX

重启,不是重载!!! 是STOP & START 而不是RELOAD!!! 纠结了好几天...(难道有的NGINX上不用重启????) 你妹的,上次也是,,PHP-FPM,将一个PHP的程序连MYSQL数据库从IP更改为域名,也要重启PHP-FPM才生效!!!! 跟WIN一样??重启也能解决UX80%的问题???? ~~~~~~~~~~~~~~~~~~ Nginx SSL 数字证书安装 第一步:获取服务器证书 1.  获取域名型(DV)中级证书访问:/support/root-dvssl.htm

linux上nginx上配置虚拟主机的相关配置

1.配置主配置: nginx/conf/nginx.conf 2.虚拟主机配置:nginx/conf/extra/learn.weixin.com.conf 配置完后,重启服务器!

在Nginx上配置ThinkPHP项目

前段时间用Apache配合TP开发了一个小型网站,也算是我使用TP的第一次实战.我习惯使用pathinfo模式,本地运行一切正常,然而部署到服务器上时,由于对方使用的是Nginx,默认是不支持ThinkPHP的pathinfo模式,所以导致路径错误,出现了页面循环跳转的问题,于是就把nginx下载下来在本地亲自测试. 其实,要解决nginx不支持pathinfo的问题,有两个解决思路,一是不使用pathinfo模式,二是修改nginx的配置文件,使它支持pathinfo.为了使问题简单化,我选择

或许是 Nginx 上配置 HTTP2 最实在的教程了

导读 从 2015 年 5 月 14 日 HTTP/2 协议正式版的发布到现在已经快有一年了,越来越多的网站部署了 HTTP2,HTTP2 的广泛应用带来了更好的浏览体验,只要是 Modern 浏览器都支持,所以部署 HTTP2 并不会带来太多困扰. 虽然 h2 有 h2c (HTTP/2 Cleartext) 可以通过非加密通道传输,但是支持的浏览器初期还是比较少的,所以目前部署 h2 还是需要走加密的,不过由于 Let’s Encrypt 大力推行免费证书和证书的廉价化,部署 h2 的成本并

在NGINX上配置HTTPS服务

使用 NGINX 配置 HTTPS服务的步骤如下: 首先应该为你的域名申请一个ssl证书,如果是阿里云的服务器可以直接在阿里云的控制台中申请一个ssl安全证书. 在阿里云平台申请证书完成后,点击下载证书将证书下载到本地.然后用ftp工具传输到你自己的服务器上 listen 443 ssl 监听443号端口 server_name 你服务器的ip或者ip绑定的域名 ssl_certificate 服务器上xxx.pem文件的路径(最好填绝对路径) ssl_certificate_key 服务器上x

在本机部署gitlab后,如何在nginx上配置多域名?

(转载)https://segmentfault.com/q/1010000002646550 之前在本机上部署了gitlab服务,可以通过localhost.127.0.0.1 和本机IP访问到本机gitlab页面. 现在想在本机建立一个网站做些测试,可是不知道怎么访问到新建的网站,搜索了相关资料,据说要修改nginx的配置文件,我在配置文件里添加 myhome.cn 域名,并绑定到网站目录,可是访问 myhome.cn 后,打开的还是gitlab的页面. 按照网上的相关说明,我又修改了git

使用tp3.2框架开发的项目在nginx上配置rewrite规则时遇到的问题

当只有一个应用的时候,只需将红框框里面的代码去掉即可,记住一点nginx好像是不支持pathinfo模式的,所以在选择模式的时候可以选择rewrite或者兼容模式都可以 当有多个应用的时候就需要用到红框框里面的代码了,将蓝色框框里面的换成对应应用的文件夹名称即可,完成配置

SSL/TLS深度解析--在Nginx上配置证书链及多域名证书

生成私钥与自签根证书(这次使用aes256加密,密码是redhat) # 进行简单处理 [[email protected] ~]# cd /usr/local/openssl/ [[email protected] openssl]# mkdir root-CA sub-CA [[email protected] openssl]# cp -rf CA/* root-CA/ [[email protected] root-CA]# rm -rf root_cacert_ecc.pem crln