ThinkPHP怎么实现伪静态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP怎么实现伪静态相关的知识,希望对你有一定的参考价值。

1、实现伪静态方法:
 1)隐藏入口文件:http://doc.thinkphp.cn/manual/hidden_index.html
 2)结合使用URL路由:http://doc.thinkphp.cn/manual/url_route.html
 3)配置伪静态后缀名:HTML_FILE_SUFFIX => \'\';
 上面三个都用上,基本都OK了!当然,还可以通过服务器重写URL
2、设置让地址栏不能访问文件夹:
 1)每个文件夹添加一个index.html空文件(因服务器默认的首页而异同),假如默认首页是 index.html 那就 添加index.html
 2)也可以通过服务器配置目录访问权限
参考技术A tp 的路由随便,url,pathinfo,rewirte 都可以。
我这里用apache举例:

1 开启rewirte : LoadModule rewrite_module modules/mod_rewrite.so

2 网站根目录增加 .htaccess 文件,内容如下:

RewriteEngine on
RewriteBase /
RewriteRule ^local/show_(\d*).html index.php/local/show/id/$1 [L]
RewriteCond %REQUEST_FILENAME !-f [NC]
RewriteCond %REQUEST_FILENAME !-d [NC]
RewriteRule ^(.*)$ index.php/$1 [L]

我这里的 local/show_(\d*).html index.php/local/show/id/$1 是根据当前tp的路由来写的
如果是url模式可写为 :
RewriteRule ^local/show_(\d*).html index.php?m=local&a=show&id=$1 [L]

测试:
localAction.class.php 内容为:

<?php
class localAction extends Action
public function show()
echo 'id is: ' .$_GET['id'];


?>本回答被提问者和网友采纳

phpstudy伪静态设置该怎么做

1、输入以下命令cd /alidata/server/nginx/conf/rewrite再输入ll看看是不是像下面截图的一样。2、这些就是伪静态规则文件。我们打开phpwind.conf看看。已经在rewrtie目录下配置了常见程序的伪静态规则。可以直接调用。3、如果没有就按照程序名.conf的命名方式新建一个配置文件配置文件搞清楚了,你可能会说好像网站伪静态还是啊。别着急,因为伪静态规则是需要被网站配置文件调用才行的。4、输入以下命令cd /alidata/server/nginx/conf/vhosts进入到网站配置目录5、打开配置文件修改好伪静态调用文件下面测试下我们配置的文件是否正确吧输入nginx: the configuration file /alidata/server/nginx/conf/nginx.conf syntax is oknginx: configuration file /alidata/server/nginx/conf/nginx.conf test is successful如果出现以上两句话就说明配置成功了。下面重启下nginx就可以了。 参考技术A 打开配置文件 httpd-conf

按 CTRL+F 查找
AllowOverride None

将其替换为
AllowOverride All

然后继续查找Options FileInfo AuthConfig Limit
将其下面的AllowOverride None也改为AllowOverride All。
保存后,重启Apache。在网站(根)目录下添加.htacces文件测试下,你的phpstudy已经可以支持.htaccess伪静态了!

以上是关于ThinkPHP怎么实现伪静态的主要内容,如果未能解决你的问题,请参考以下文章

如何配置thinkphp的伪静态重写

Nginx下伪静态规则

thinkphp 怎么通过.htaccess 显现伪静态

phpstudy伪静态设置该怎么做

thinkphp3.2----实现伪静态和路由配置

thinkPHP16---伪静态