关于nginx下drupal7无法$_GET获取参数的问题
参考:nginx 官方drupal 配置 - Drupal | NGINX
之前配置好了LNMP下的drupal7(7.59版本),简洁路径也配好了。但是在使用过程出现问题。
配置的nginx.conf如下:
server {
listen ;
server_name drupal759.com;
index index.html index.htm index.php;
root /home/wwwroot/drupal759;
include enable-php.conf; location / { #drupal启用简介路径
try_files $uri $uri/ /index.php;
} location /nginx_status
{
stub_status on;
access_log off;
} location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
} location ~ .*\.(js|css)?$
{
expires 12h;
} location ~ /.well-known {
allow all;
} location ~ /\.
{
deny all;
} access_log /home/wwwlogs/access.log;
}
最典型的的问题,就是使用pathauto模块,进行配置了路径时,页面“admin/config/search/path/patterns”下有“Browse available tokens.”这种超链接:
但是当我单击时,该超链接没有反应,F12观察,显示没有权限访问该菜单。
菜单链接是“token/tree?options=xxxx&token=xxxx”
毙了狗,我可是管理员角色(uid=1),还有什么页面是我没权限的。
去看了下token.module文件:
$items['token/tree'] = array(
'page callback' => 'token_page_output_tree',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'file' => 'token.pages.inc',
'theme callback' => 'ajax_base_page_theme',
);
菜单没有权限啊( 'access callback' => TRUE,是访问不受任何限制的)。
那只能知“token_page_output_tree”的问题了,看了下
只有第56行有访问拒绝的代码(return MENU_ACCESS_DENIED;)。
var_dump测试了一下if的条件,惊奇发现,$_GET['token']竟然没有获取到!!!
进而直接取$_GET直接var_dump,结果就呵呵了:
看到了吗,只取到路径,没有参数options和token!!!
恩,在网上搜了半天,这个问题,终于找到原因,是我的nginx.conf配置的问题,解决办法:
将try_files项改为:
location / {
try_files $uri /index.php?$query_string; # For Drupal >=
}
保存修改后的nginx.conf,然后
nginx -s reload #重启nginx
再试一下。ok啦~
关于nginx下drupal7无法$_GET获取参数的问题的更多相关文章
- 【解决】nginx 下$_SERVER['PATH_INFO'] 无法获取到内容
Apache是模块加载文件的,默认支持$_SERVER['PATH_INFO'] : 而对于Nginx下, 是不支持PATH INFO的, 也就是它不会默认设置PATH_INFO. 而因为Nginx默 ...
- 获取当前URL地址和$_GET获取参数
用这个方法,可以在不使用$_get[]就可以获取get传过来的参数.还可以获取当前的URL public function getCurrentUrl() { $pageURL = 'http'; i ...
- 在linux下使用curl访问 多参数url GET参数问题
一.在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本.每一小时执行myscript.php如下: # ...
- linux下curl get方法传递参数
例如 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3 web形式下访问url地址,使用$_GET是可以获取到所有的参数 然而在linu ...
- Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip
目录 Nginx+Docker部署模式下 asp.net core 获取真实的客户端ip 场景 过程还原 结论 参考资料 Nginx+Docker部署模式下 asp.net core 获取真实的客户端 ...
- nginx反向代理下thinkphp、php获取不到正确的外网ip
在记录用户发送短信需要获取用户ip时,tp一直获取的是内网ip:10.10.10.10 tp框架获取ip方法:get_client_ip /** * 获取客户端IP地址 * @param intege ...
- nginx下rewrite参数超过9个的解决方法
nginx 在处理多于9个参数的时候,是采用重命名的方法来实现的: /?m?([0-9,]*)h?(\d*)a?([0-9,]*)c?(\d*)s?(x?f?(?P<f>[0-9,]*)/ ...
- (转)nginx下基于ThinkPHP框架的网站url重写
nginx下基于ThinkPHP框架的网站url重写nginx下的基于thinkphp的应用的url重写,需了解thinkphp的各种url格式参数的处理逻辑以及nginx重写的原理.简单点说,无论哪 ...
- 如何在Nginx下配置PHP程序环境
1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Comm ...
随机推荐
- CSS3盒子模型(中)
在CSS盒子模型(上)讲到了盒子模型的边框,内外边距,外边距合并等知识,接下来要总结的是盒子模型的布局常用到的一些CSS属性,比如:float.position等知识. 盒子模型布局稳定性 开始学习盒 ...
- HttpClient和HttpURLConnection的使用和区别(上)
转自:点击打开链接 相信很多Android开发者碰到涉及到Http协议的需求时,都和我一样在犹豫是使用HttpClient还是使用HttpURLConnection呢.我在网上也搜索了很多文章,来分析 ...
- 深度学习笔记(六)VGG14
Very Deep Convolutional Networks for Large-Scale Image Recognition 1. 主要贡献 本文探究了参数总数基本不变的情况下,CNN随着层数 ...
- 解决axios请求本地的json文件在打包后路径出错问题
vue 项目中使用axios请求了本地项目的static文件夹下的json文件,使用npm run build 打包后,在Hbuilder编辑器打开,页面报错404: 在浏览器打开的路径 http:/ ...
- Nginx Web服务(一)
一.Nginx原理介绍 1.1:什么是Nginx Nginx是一个开源的,支持高性能.高并发的WWW服务和代理服务软件 1.2:Nginx的功能特点及应用场合 ① 支持高并发:能支持几万并发连接,特别 ...
- phpstorm扩展
1, CodeGlance 代码地图插件 <img src="https://pic1.zhimg.com/50/v2-721f173bafcb9b60853819c32780 ...
- CentOS命令行界面与图形界面切换(图文详解)
不多说,直接上干货! Ctrl + Alt +F1,到图形界面 Ctrl + Alt +F2,到命令行界面 欢迎大家,加入我的微信公众号:大数据躺过的坑 人工智能躺过的坑 同 ...
- Javac语法糖之内部类
在Javac中解语法糖主要是Lower类来完成,调用这个类的入口函数translateTopLevelClass即可.这个方法只是JavacCompiler类的desugar方法中进行了调用. 首先来 ...
- 解惑《你必须知道的.net》——C#继承关系中【方发表】的创建和调用
前言: 现在正在读<你必须知道的.net>(第二版)一书,看到IL语言那一章,将call.callvirt和calli时候,书中举了一个例子,是一个三层继承的例子,我一开始看的时候就有点懵 ...
- C#的Equals不区分大小写
代码:System.Windows.Forms.MessageBox.Show("abc".Equals("ABC", StringComparison.Inv ...