thinkphp5 url中隐藏public目录和index.php

在学习thinkphp5的时候,大家遇到过必须要使用http://localhost/public/ 这样才能访问网站,研究了很久之后,下面写下笔记,分享给大家,希望大家在学习过程中一起共同进步,少走弯路

第一种方法:把public作为根目录(最简单的)

第二种方法:我把入库文件迁移到根目录,即在根目录创建index.php,里面配置信息如下:

<?php
// 定义应用目录
define('APP_PATH', __DIR__ . './application/');
// 加载框架引导文件
require __DIR__ . './thinkphp/start.php';

这样就完成了隐藏public目录和index.php文件,做到这一步,我们即可隐藏public目录。

如何要隐藏index.php,需要开启伪静态,我是iis,直接在根目录创建web.config,里面的重写代码跟tp3一样,如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="已导入的规则 1" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

这样就OK了,如何使Apache服务器的话,直接在根目录创建.htaccess,里面的重写代码跟tp3一样:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值