Thinkphp关于nginx的rewrite支持path_info。大神求助!

发布于 2021-11-27 06:36:26 字数 1306 浏览 883 评论 4

运行环境 ubuntu12+nginx1.1.19+php5.3.10 (thinkphp3.2框架)

我按照thinkphp3.2手册来配置。


访问是成功了。但是URL 需要把前面的入门文件去掉(index.php)这样不满足我的需求。因为我还有其他的模块(vboom.php)这样就无法访问了,请问我该如何修改配置?????
去掉入口文件可以访问成功。

加上入口文件就访问失败。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

各自安好 2021-12-02 09:05:40
location ~ [^/].php(/|$)
{
	# comment try_files $uri =404; to enable pathinfo
	try_files $uri =404;
	fastcgi_pass  unix:/tmp/php-cgi.sock;
	fastcgi_index index.php;
	include fastcgi.conf;
	#include pathinfo.conf;
	###下面这块应该就是你想要的
	set $real_script_name $fastcgi_script_name;
	if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") {
		set $real_script_name $1;
		set $path_info $2;
	}
	fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;			
	fastcgi_param PATH_INFO $path_info;
}

浅沫记忆 2021-12-02 08:50:00

nginx那段配置就是为了去掉URL里的index.php 吧。不过.htaccess 这个文件也是实现URL重写的,你工程里没有?

我更想知道你要的路径形式是什么?

爱的那么颓废 2021-12-01 03:38:44

fastcgi.conf 我在/etc/nginx/中并没有找到这个文件。

离去的眼神 2021-11-30 12:27:41

server {

listen 80;

server_name xxx.com;

root D:/git/xxx;

index index.php;

location / {

try_files $uri $uri/ /index.php$uri?$args;

}

location ~ .+.php($|/) {

fastcgi_pass   127.0.0.1:9000;

fastcgi_split_path_info  ^(.+.php)(/.*)$;

fastcgi_param  PATH_INFO $fastcgi_path_info;

include        fastcgi.conf;

}

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文