ThinkPHP32URL重写隐藏应用的入口文件indexphp
可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:
[ Apache ]
- httpd.conf配置文件中加载了mod_rewrite.so模块
- AllowOverride None 将None改为 All
- 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<ol> <li><code><span><ifmodule><span>mod_rewrite</span><span>.</span><span>c</span><span>></span></ifmodule></span></code></li> <li><code><span> RewriteEngine on</span></code></li> <li><code><span> RewriteCond %{REQUEST_FILENAME} !-d</span></code></li> <li><code><span> RewriteCond %{REQUEST_FILENAME} !-f</span></code></li> <li><code><span> RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</span></code></li> <li><code><span></span></code></li> </ol>
[ IIS ]
如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:
<ol><li><code><span>RewriteRule</span><span>(.*)</span><span>$ </span><span>/</span><span>index\.php\?s</span><span>=</span><span>$1 </span><span>[</span><span>I</span><span>]</span></code></li></ol>
在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:
<ol> <li><code><span><rewrite></rewrite></span></code></li> <li><code><span><rules></rules></span></code></li> <li><code><span><rule><span>name</span><span>=</span><span>"OrgPage"</span><span>stopProcessing</span><span>=</span><span>"true"</span><span>></span></rule></span></code></li> <li><code><span><match><span>url</span><span>=</span><span>"^(.*)$"</span><span>/></span></match></span></code></li> <li><code><span><conditions><span>logicalGrouping</span><span>=</span><span>"MatchAll"</span><span>></span></conditions></span></code></li> <li><code><span><add><span>input</span><span>=</span><span>"{HTTP_HOST}"</span><span>pattern</span><span>=</span><span>"^(.*)$"</span><span>/></span></add></span></code></li> <li><code><span><add><span>input</span><span>=</span><span>"{REQUEST_FILENAME}"</span><span>matchType</span><span>=</span><span>"IsFile"</span><span>negate</span><span>=</span><span>"true"</span><span>/></span></add></span></code></li> <li><code><span><add><span>input</span><span>=</span><span>"{REQUEST_FILENAME}"</span><span>matchType</span><span>=</span><span>"IsDirectory"</span><span>negate</span><span>=</span><span>"true"</span><span>/></span></add></span></code></li> <li><code><span></span></code></li> <li><code><span><action><span>type</span><span>=</span><span>"Rewrite"</span><span>url</span><span>=</span><span>"index.php/{R:1}"</span><span>/></span></action></span></code></li> <li><code><span></span></code></li> <li><code><span></span></code></li> <li><code><span></span></code></li> </ol>
[ Nginx ]
在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:
<ol> <li><code><span> location </span><span>/</span><span>{</span><span>// …..省略部分代码</span></code></li> <li><code><span>if</span><span>(!-</span><span>e $request_filename</span><span>)</span><span>{</span></code></li> <li><code><span> rewrite </span><span>^(.*)</span><span>$ </span><span>/</span><span>index</span><span>.</span><span>php</span><span>?</span><span>s</span><span>=</span><span>$1 </span><span>last</span><span>;</span></code></li> <li><code><span>break</span><span>;</span></code></li> <li><code><span>}</span></code></li> <li><code><span>}</span></code></li> </ol>
其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。
如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。youdomain需要按照入口文件index.php的目录来确定。
<ol> <li><code><span>location </span><span>/</span><span>youdomain</span><span>/</span><span>{</span></code></li> <li><code><span>if</span><span>(!-</span><span>e $request_filename</span><span>){</span></code></li> <li><code><span> rewrite </span><span>^</span><span>/youdomain/</span><span>(.*)</span><span>$ </span><span>/</span><span>youdomain</span><span>/</span><span>index</span><span>.</span><span>php</span><span>?</span><span>s</span><span>=</span><span>$1 </span><span>last</span><span>;</span></code></li> <li><code><span>}</span></code></li> <li><code><span>}</span></code></li> </ol>
原来的访问URL:
http://serverName/index.php/模块/控制器/操作/[参数名/参数值...]
设置后,我们可以采用下面的方式访问:
http://serverName/模块/控制器/操作/[参数名/参数值...]
默认情况下,URL地址中的模块不能省略,如果你需要简化某个模块的URL访问地址,可以通过设置模块列表和默认模块或者采用子域名部署到模块的方式解决,请参考后面的模块和域名部署部分。
以上就介绍了ThinkPHP32URL重写隐藏应用的入口文件indexphp,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

index.html代表网页的首页文件,是网站的默认页面。当用户访问一个网站时,通常会首先加载index.html页面。HTML(HypertextMarkupLanguage)是一种用于创建网页的标记语言,index.html也是一种HTML文件。它包含网页的结构和内容,以及用于格式化和布局的标签和元素。下面是一个示例的index.html代码:<

request的中文意思为“请求”,是php中的一个全局变量,是一个包含了“$_POST”、“$_GET”和“$_COOKIE”的数组。“$_REQUEST”变量可以获取POST或GET方式提交的数据、COOKIE信息。

Python3.x中如何使用urllib.request.urlopen()函数发送GET请求在网络编程中,我们经常需要通过发送HTTP请求来获取远程服务器的数据。在Python中,我们可以使用urllib模块中的urllib.request.urlopen()函数来发送HTTP请求,并获取服务器返回的响应。本文将介绍如何使用

PHP中的Request对象是用于处理客户端发送到服务器的HTTP请求的对象。通过Request对象,我们可以获取客户端的请求信息,比如请求方法、请求头信息、请求参数等,从而实现对请求的处理和响应。在PHP中,可以使用$_REQUEST、$_GET、$_POST等全局变量来获取请求的信息,但是这些变量并不是对象,而是数组。为了更加灵活和方便地处理请求信息,可

url跳转这里说的url跳转就是用户在访问一个url时将其跳转到另一个url上。常见的应用场景是让多个域名跳转到同一个url上,(例如让旧域名跳转到新域名上)将静态文件请求跳转到cdn上等根据用户设备跳转到不同站点(pc版,wap版)等。url跳转可以通过js在页面上设置的window.location实现也可以通过php设置header来实现当然也可以用nginx的rewrite功能实现nginxrewrite模块rewrite是nginx的静态重写模块基本用法是rewritepattenre

1、创建一个名为request.js的新文件,并导入Axios:importaxiosfrom'axios';2、创建一个名为request的函数,并将其导出:这将创建一个名为request的函数,并将其设置为具有基本URL的新的Axios实例。要在封装的Axios实例中添加超时设置,可以在创建Axios实例时传递timeout选项。exportconstrequest=axios.create({baseURL:'https://example.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

PHP中Request的作用及意义在PHP编程中,Request是指向Web服务器发送请求的一种机制,它在Web开发中起着至关重要的作用。Request主要用于获取客户端发送过来的数据,比如表单提交、GET或POST请求等,通过Request能够获取到用户输入的数据,并对这些数据进行处理和响应。本文将介绍PHP中Request的作用及意义,并给出具体的代码示
