首页 建站 正文

ThinkPHP伪静态解决方法

2019-12-14 21:40:26 来源:administrator 阅读 72 次

在谈到解决Thinkphp伪静态的时候,我首要要告诉打击一件事,以后不要在E团购买任何产品,还有一个就是不要后买QQ号吗为:8638516这个骗子的程序,我手上的这套程序就是在他那里购买的!~!购买来自己调试都弄不好!我烨没心情了,于是去E团申请退款烨不退!还让我给作者商量,特么开发者:都把我QQ好友删除了!是解决不了问题就把我删除的!于是款也退不了,我想想1000元就算拿给他买药吃把!包含E团在内!所以自己就通过各大ThinkPH 的QQ群咨询了一些大神,后来经过了解其实很简单就解决该问题的了!具体步骤如下:

可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:


Apache 

httpd.conf配置文件中加载了mod_rewrite.so模块

AllowOverride None 将None改为 All

把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>

 IIS 

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

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

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

<rewrite>
 <rules>
 <rule name="OrgPage" stopProcessing="true">
 <match url="^(.*)$" />
 <conditions logicalGrouping="MatchAll">
 <add input="{HTTP_HOST}" pattern="^(.*)$" />
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 </conditions>
 <action type="Rewrite" url="index.php/{R:1}" />
 </rule>
 </rules>
 </rewrite>

 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;
    }}

原来的访问URL:

http://serverName/index.php/模块/控制器/操作/[参数名/参数值...]

设置后,我们可以采用下面的方式访问:

http://serverName/模块/控制器/操作/[参数名/参数值...]

默认情况下,URL地址中的模块不能省略,如果你需要简化某个模块的URL访问地址,可以通过设置模块列表和默认模块或者采用子域名部署到模块的方式解决,请参考后面的模块和域名部署部分。


共收录0个网站,待审0个网站,文章0篇, 待审0篇文章
关于我们 收录标准 联系我们 版权声明 免责声明 手机版 网站地图
 版权所有:B2B网站大全   蜀ICP备14007513号-19       技术支持:宜宾星火网络信息科技有限公司   安全运行: