thinkphp站点下怎么隐藏前台和后台的入口文件index.php,admin.php 30

这是我的站点目录,我现在访问后台admin这样访问的,localhost://WebAdmin/Index/index,这是我的后台首页,前台的是Home文件,但是我不知... 这是我的站点目录,我现在访问后台admin这样访问的,localhost://WebAdmin/Index/index,这是我的后台首页,前台的是Home文件,但是我不知道怎么去同时隐藏index.php和admin.php 展开
 我来答 举报
go敌军的小头目
2019-11-14
知道答主
回答量:6
采纳率:0%
帮助的人:4141
展开全部

最近也遇到了这个问题,顺便回答一下,我这边前后台入口文件都在一个文件夹里,想配置成以下这样:

前后:www.xxx.com/控制器/方法     (模块已配置故不展示)

后台:www.yyy.com/控制器/方法      (模块已配置故不展示)

所以需要准备两个域名,分别访问前后台,然后在.htaccess文件中通过匹配域名的方式来决定进入哪个规则,所以配置成了下面这样:

1
2
3
4
5
6
7
8
9
10
11
12
<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
 
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{HTTP_HOST} ^.*xxx\.com$ 
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
   
  RewriteCond %{HTTP_HOST} ^.*yyy\.com$ 
  RewriteRule ^(.*)$ /admin.php/$1 [QSA,PT,L]
</IfModule>

结果前台没问题而后台报错,页面展示:

日志文件里显示:Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace

后来搜索资料解决了这个问题,在.htaccess文件中添加如下两行

1
2
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

这两行代码是用来停止重定向无限循环的,至此前后台入口文件都得到了隐藏,希望能帮助后面的人,全部配置代码是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
   
  RewriteCond %{ENV:REDIRECT_STATUS} 200
  RewriteRule .* - [L]
   
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{HTTP_HOST} ^.*xxx\.com$ 
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
   
  RewriteCond %{HTTP_HOST} ^.*yyy\.com$ 
  RewriteRule ^(.*)$ /admin.php/$1 [QSA,PT,L]
</IfModule>

这个答案也可以回答重定向次数限制的问题,如果出现这个错误,则考虑是不是重定向无限循环了,至于为什么上面的配置会出现这个错误,我也不明白,同时希望有明白的可以指教。

明一如
2014-12-03 · 超过16用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:23.3万
展开全部
必须伪静态支持才行。伪静态去掉index.php和admin.php,然后程序的config.php配置文件添加'URL_MODEL',设置成
'URL_MODEL' => 2,//REWRITE模式

注:如果空间不支持伪静态,千万不能把URL_MODEL的值设置为2,不然会打不开网站
追问

我的问题你可能没有看清楚,.htaccess文件我已经设置了隐藏admin.php,现在又有了前台home目录,也有一个入口文件index.php,我的意思是访问站点的时候怎么隐藏2个入口文件

这个只是隐藏了入口文件admin.php,怎么同时隐藏admin.php和index.php

追答
你目前的情况,只能设置一个,要么index.php,要么admin.php,你可以把admin.php和index.php合并成一个index.php,.htaccess文件我已经设置了隐藏index.php,这样就行了
本回答被网友采纳
4 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
般码宫
2016-12-27 · 子非鱼,安知阴阳鱼乐
般码宫
采纳数:221 获赞数:458

向TA提问 私信TA
展开全部
在index.php同级目录的.htaccess文件修改如下:

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

RewriteRule admin$ ./admin.php [NC,L]
RewriteRule admin/$ ./admin.php [NC,L]
RewriteRule admin/(.*)$ admin.php/$1 [NC,QSA,PT,L]
</IfModule>
8 已赞过 已踩过<
你对这个回答的评价是?
评论(1) 举报 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式