php改变分享地址,ThinkPHP 5.1 更改应用目录、入口位置 并隐藏URL中的入口文件

释放双眼,带上耳机,听听看~!

首先说一下,TP5的文档真的是写得够简单够烂的。好多坑,大叔一边自己爬坑一边记录吧。

03afc326e4f8e80692b074b844531423.png

默认路径

其它不表,默认访问URL为:

http://serverName/public/index.php/模块/控制器/方法

fkl WEB部署目录(或者子目录)

├─application 应用目录

│ ├─common 公共模块目录(可以更改)

│ ├─index 模块目录

│ │ ├─common.php 模块函数文件

│ │ ├─controller 控制器目录

│ │ | ├─Index.php 类文件

├─public WEB目录(对外访问目录)

│ ├─index.php 入口文件

│ ├─router.php 快速测试文件

│ └─.htaccess 用于apache的重写

├─think 命令行入口文件

例如大叔以目前的目录结构,在index模块的控制器Index中写一个方法,hello()

namespace appindexcontroller;

use thinkController;

class Index extends Controller{

public function Hello(){

echo 'Hello World!';

}

}

则URL访问为:http://localhost/fkl/public/index.php/index/index/hello

更改入口文件位置

大叔建议不更改默认的入口文件位置,因为大叔本地有多个项目,为了开发测试方便,大叔不想经过public而直接进行访问。需要在www目录下创建一个index.php

namespace think;

// 定义应用目录

define('APP_PATH', __DIR__ . '/application/');

// 加载框架基础引导文件

require __DIR__ . '/thinkphp/base.php';

// 执行应用并响应

Container::get('app', [APP_PATH])->run()->send();

此时的访问路径变为:http://localhost/fkl/index.php/index/index/hello

隐藏URL中的入口文件

这个官方给了文档,但其中的apache的重写目录有问题

在入口文件的根目录创建.htaccess文件,并内容如下。原本在public目录下也有此文件,大叔这里就要移动到www目录下,如果不改更入口目录就不需要移动,只需要更改内容

Options +FollowSymlinks -Multiviews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php[L,E=PATH_INFO:$1]

此时的访问路径变为:http://localhost/fkl/index/index/hello

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值