问题目录:
- 项目放置到服务器后出现路由失效问题
- 如何给地址添加index.php
- apache下隐藏 index.php
- 入口文件不在public下时,模板替换无效问题
问题0:首次下载tp5后修改访问路径
默认访问方式是localhost/public
修改后直接访问localhost就行
方法:
1,复制public下的index.php和htaccess文件到根目录,修改index.php的引入文件路径如下
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
注意:首次下载框架的index.php文件没继承控制器,记住继承。还需要在rute文件中声明方法路由 ,
如
'login'=>'index/Index/checkphoneishave',
问题1:项目放置到服务器后出现路由失效问题。
解决:在宝塔中的伪静态设置里设置
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
没使用宝塔的就在Nginx.conf添加此设置
问题2.如何给地址添加index.php
解决:在指定的控制器中加入
Url::root('/yikehao/index.php');
记得引入 use think\Url;
问题3:apache下隐藏 index.php
在htaccess文件下添加如下代码
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>
问题4: 入口文件不在public下时,模板替换无效问题
修改thinkPHP下的view类。所在路径/thinkphp/library/think/View.php,在__construct__方法中的$baseReplace中修改默认路径,加上public即可。如图。修改后删除runtime文件再刷新。