ThinkPHP怎么实现伪静态
答案:3 悬赏:40 手机版
解决时间 2021-03-27 06:45
- 提问者网友:不爱我么
- 2021-03-26 19:41
ThinkPHP怎么实现伪静态
最佳答案
- 五星知识达人网友:一把行者刀
- 2020-12-04 14:11
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'];
}
}
?>
我这里用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'];
}
}
?>
全部回答
- 1楼网友:等灯
- 2021-01-01 04:03
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)也可以通过服务器配置目录访问权限
- 2楼网友:忘川信使
- 2019-12-17 23:06
官网的3.2手册里有写
如果你的服务器环境支持isapi_rewrite的话,可以配置httpd.ini文件,添加下面的内容:
rewriterule (.*)$ /index\.php\?s=$1 [i]
在iis的高版本下面可以配置web.config,在中间添加rewrite节点:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯