消息关闭
    暂无新消息!

客户购买了一个 windows 2012 + nginx的服务器
用的是PHP5.3

碰到一个 相当奇葩的问题
比如。我调用CSS文件
如果CSS文件 命名有  php 字眼 就无法打开
比如:
http://我的域名//images/php_admin.css

这样的浏览器中打开 直接报错 No input file specified.

如果把php_admin.css  改成  admin.css

http://我的域名//images/admin.css
就可以正常打开了,也可以正常加载了。  

铜鼓一天了,没找到原因。  因为页面大量调用了 php_admin,css 改的话 太麻烦了。而且治标不治本啊。
咱们得解决问题 啊

求解答 谢谢

8个回答

︿ 3
fastcgi_split_path_info ^(.+.php)(.*)$;
这种表述肯定是不行的,因为 . 表示任意字符
要表示是 .php 后缀,至少也要写作
fastcgi_split_path_info ^(.+\.php)(.*)$;
︿ 2
server {
listen 999;
server_name localhost;
root "C:/huweishen/phpmyadmin/web";
location / {
index index.html index.htm index.php;
}
location ~ .php(.*)$ {
fastcgi_pass 127.0.0.1:18153;
fastcgi_index index.html;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
}

server {
listen 80;
server_name 127.0.0.1;
root "C:/huweishen/wwwroot/9k17sj";
location / {
index index.html index.htm index.php default.php;
}
location ~ .php(.*)$ {
fastcgi_pass 127.0.0.1:18153;
fastcgi_index index.html;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
}

这个是规则啊。  要怎么搞呢。我把PHP替换也不行呢
︿ 1
错误很明显,就是nginx的rewrite写错了,估计写的类似:
location ~ .*php.*
把你的nginx里的rewirte修改下就好了
︿ 0
查看下项目中的.htaccess文件中是否存在包含 php_ 的重定向,如果有 先注释掉试试看