Thinkphp 6,在phpstudy_pro中url访问去除think.php入口文件;将thinkphp的网站挂到服务器上

前言:当我们下载composer并且利用它安装了 thinkphp 6,我们就可以直接通过 php think run来调用 localhost:8000  / 127.0.0.1:8000 端口,来访问网站;此时该端口访问的文件就位于public/index.php ;那么如何将网站用phpstudy_pro 来设置随意的端口来 访问,并且可以访问其他控制器?以Web服务器软件Apache,开放localhost:80为例(默认80不用写)

问题现象:

在vscode的控制器中进入我们的项目输入 php think  run 我们可以通过url路径:localhost:8000;

localhost:8000/index   直接访问我们网站,并且 可以访问其他控制器 localhost:8000/user

通过phpstudy_pro 来设置的端口来访问可以通过url路径:localhost;localhost/index   直接访问我们网站,但是访问其他控制器要输入localhost/index.php/user

图片如下:( 通过vscode  在控制台输入 php think run )

1、访问index控制器

2、访问user控制器

 图片如下:( 通过phpstudy_pro 配置的端口 )

1、访问index控制器 

2、访问user控制器(不能通过loclhost/user方式访问;只能通过loclhost/index.php/user访问)

 

 解决方法

第一步:找到Apache的配置文件httpd.conf用记事本打开,找到(可以用ctrl+f快速查找)LoadModule rewrite_module modules/mod_rewrite.so 将#去除(好像默认去除了的,不太清楚)

 第二步:还是在httpd.conf文件内搜索 AllowOverride 关键词 将AllowOverride none 改成 AllowOverride all, 一共要改3个

第三步:在应用入口文件( public/index.php)同级目录下修改  .htaccess 文件(没有文件自己加)

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
  
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] 
 </IfModule>

修改后就大功告成了,可以直接通过 localhost/user ,访问到其他控制器了

 以上的操作都在thinkphp 6.0的文档有,在目录  架构-->url访问-->隐藏入口文件

但是 thinkphp6.0的文档   .htaccess 文件 的代码是错的,我这里的代码才是正常的,也是找了很久

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值