TP3.2 Nginx下配置ThinkPhp多入口访问

thinkphp多入口配置后,入口index.php指向应用目录=>app,入口admin.php指向后台管理目录=>admin在nginx下设置伪静态(在nginx的配置文件中):

#ThinkPHP REWRITE支持
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?s=$1 last;
}

配置后,www.abc.com/index.php可以正常访问,www.adc.com/admin.php访问文件不存在错误!

解决方案:
一个项目中有前台与后台两个模块,需要使用不同的入口文件。nginx配置更改如下:

if (!-e $request_filename) {
  rewrite /admin.php(.*)$ /admin.php$1 last;
  rewrite ^(.*)$ /index.php/$1;
  break;
}

如果访问的后台入口文件就交给admin.php这个入口文件进行处理。其他情况交给index.php这个入口文件。

原文地址:http://blog.51cto.com/13238147/2316614

时间: 2024-10-27 03:58:13

TP3.2 Nginx下配置ThinkPhp多入口访问的相关文章

Nginx下配置ThinkPhp多入口访问

比如在一个项目中有前台与后台两个模块,需要使用不同的入口文件.同时希望前台使用默认的index.php的入口. 关键的配置如下: if (!-e $request_filename) {           rewrite /plugins.php(.*)$ /plugins.php?s=/$1 last;           rewrite /admin.php(.*)$ /admin.php?s=/$1 last;               rewrite  ^(.*)$  /index.

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in

Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式

Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式 BY 孙 权 · 2014年8月6日 我的环境 系统 : Ubuntu12.04 x86_64 环境 : Nginx1.1.19+PHP5.3.10+Mongo2.6.3 由于公司要用Nginx+Mongo+PHP,所以我要把刚刚配置好的LAMP推翻,然后重新安装LNMP.软件安装就不在这里介绍了,如果有需要,可以看这里. 如何安装Nginx. 下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL

Ubuntu下配置ThinkPHP隐藏index.php

http://doc.thinkphp.cn/manual/url_rewrite.html 以上连接为框架手册提供的步骤,而Ubuntu下apache环境与windows及其它Linux有一定区别 1.开启mod_rewrite.so模块 使用sudo a2enmod,可配置模块管理,再输入rewrite,则开启了mod_rewrite.so模块. 2.AllowOverride 改为All sudo vim /etc/apache2/apache2.conf,开启找到AllowOverrid

nginx下配置虚拟主机的三种方法

nginx下,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机--应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机--应用:公司内部网站,外部网站的管理后台 3.基于ip的虚拟主机,几乎不用. 基于域名配置虚拟主机步骤: 需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析:对应域名网站目录下新增index.html文件:  nginx.conf配置文件新增如下代码: server {

在Nginx上配置ThinkPHP项目

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

Nginx下配置网站SSL实现https访问本站就是用的这方法

本文出至:新太潮流网络博客 第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的ECS+免费的Linux服务器管理系统WDCP快速搭建的lnamp环境,具体安装以及使用方法都可以在其官方论坛找到详细的操作文档. 第二步:创建你的网站,使用lnamp环境创建你的网站,已有网站的,确保你的程序在lnamp下能够正常的运行,以wordpress为例,lamp跟lnamp下的伪静态规则是不同的,有过更换的,要记得切换. 第三步:申请免费的

NGINX下配置CACHE-CONTROL

HTTP协议的Cache -Control指定请求和响应遵循的缓存机制.在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程.请求时的缓存指令包括no-cache.no-store.max-age. max-stale.min-fresh.only-if-cached等.响应消息中的指令包括public.private.no-cache.no- store.no-transform.must-revalidate.proxy-revalidate.m

Nginx 下配置SSL证书的方法

1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改header