Home >PHP Framework >ThinkPHP >thinkphp index.php hidden methods

thinkphp index.php hidden methods

藏色散人
藏色散人Original
2020-12-04 10:13:333015browse

thinkphp index.php隐藏的方法:1、在httpd.ini文件添加内容“RewriteRule (.*)$ /index\.php\?s=$1[I]”;2、在Nginx.conf中配置转发规则“rewrite ^(.*)”。

thinkphp index.php hidden methods

本教程操作环境:Windows7系统、thinkphp v6版,该方法适用于所有品牌电脑。

推荐:《PHP视频教程》《thinkphp教程

thinkphp隐藏index.php

为了更好的实现SEO优化,我们需要隐藏URL地址中的index.php,由于不同的服务器环境配置方法区别较大,apache环境下面的配置我们可以参考5.9 URL重写来实现,就不再多说了,这里大概说明下IIS和Nginx下面的基本配置方法和思路.

IIS环境

如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:

RewriteRule (.*)$ /index\.php\?s=$1 [I]

在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:

name="OrgPage" stopProcessing="true">
url="^(.*)$" />
logicalGrouping="MatchAll">
input="{HTTP_HOST}" pattern="^(.*)$" />
input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
input="{REQUEST_FILENAME}” matchType="IsDirectory" negate="true" />
type="Rewrite" url="index.php/{R:1}" />

Nginx环境

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

location / { // …..省略部分代码
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}

其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境,如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称.

location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last;
}
}

The above is the detailed content of thinkphp index.php hidden methods. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn