网站url路径优化方法完全讲解 (url优化基于tp5API接口开发)
Posted DellYoung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站url路径优化方法完全讲解 (url优化基于tp5API接口开发)相关的知识,希望对你有一定的参考价值。
url优化可是网站开发的必备高阶技能,先看本实例优化前后效果比较:
(同为调用前台模块下的index控制器下的index方法)
优化前:www.tp5.com/tp5/public/index.php/index/index/index。
优化后:www.tp5.com/t。
可以优化这么多?对,就是能优化成这样!是不是感觉最后效果很棒哦,来跟我一起做吧,你也网站也可以这样哦!
优化步骤
1.修改网站文件,将url简化为(www.tp5.com/public/index.php/index/index/index)
2.配置tp5文件,将url简化为(www.tp5.com/index.php/index/index/index)
3.绑定前后台模块(即路由绑定),将url简化为(www.tp5.com/index.php/t)
4.配置虚拟主机,实现隐藏入口文件,将url简化为(www.tp5.com/t)
(若可配合tp5官方文档学习,效果更优,本文为升级版的服务器端url优化,与本地优化方法相似)
接下来逐步讲解:
一、修改网站文件,将url简化为(www.tp5.com/public/index.php/index/index/index)
1.将tp5文件夹下内容全部剪切移动到网站www.tp5.com的根目录。
2.删去tp5空文件夹。
二、配置tp5文件,将url简化为(www.tp5.com/index.php/index/index/index)
1.将public下的两个文件:index.php和.htaccess两个文件剪切移动到网站www.tp5.com的根目录。
2.修改文件index.php为:
1 // [ 应用入口文件 ]
2
3 // 定义应用目录
4 define(‘APP_PATH‘, __DIR__ . ‘/application/‘);
5 //绑定前台
6 define(‘BIND_MODULE‘,‘index‘);
7 // 加载框架引导文件
8 require __DIR__ . ‘/thinkphp/start.php‘;
其实就是将4行和6行内的 ‘ ../ ‘ 删去
三、绑定前后台模块,将url简化为(www.tp5.com/index.php/t)
(绑定方法有很多可以通过tp5官方文档详细了解)
我推荐使用批量注册的方法绑定:
目标文件:application/route.php
先注释掉文件内的原有代码然后写入如下代码:
1 //引入系统类
2 use thinkRoute;
3 //定义路由规则
4 Route::rule([
5 ‘/t‘=>‘index/index/test‘,
6 ],‘‘,‘get|post‘);
四、配置虚拟主机,实现隐藏入口文件,将url简化为(www.tp5.com/t)
1.修改apache配置
(1)找到apache下的所有httpd.conf配置文件
(2)找到rewrite_module modules/mod_rewrite.so 去掉前面的注释
(3)在配置文件中, AllowOverride None 将所有None 全部改为 All
(4)搜索DocumentRoot 将根目录设置成你的入口文件那个目录,我的是DocumentRoot "F:phpStudyWWW hinkphp5public"
2.修改网站根目录下的.htaccess文件为
1 <IfModule mod_rewrite.c>
2 Options +FollowSymlinks -Multiviews
3 RewriteEngine On
4
5 RewriteCond %{REQUEST_FILENAME} !-d
6 RewriteCond %{REQUEST_FILENAME} !-f
7 RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
8 </IfModule>
其实只是做了一个小修改,
将原文件倒数第二行 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改成了 RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
就添加了一个 ‘?’ 而已
3.改完配置后,重启apache
五、完全Ok啦,使用www.tp5.com/t作为api入口吧!
(如需转载请注明出处)
以上是关于网站url路径优化方法完全讲解 (url优化基于tp5API接口开发)的主要内容,如果未能解决你的问题,请参考以下文章