网站url路径优化方法完全讲解 (url优化、基于tp5、API接口开发)
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为:
// [ 应用入口文件 ] // 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
//绑定前台
define('BIND_MODULE','index');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
其实就是将4行和6行内的 ' ../ ' 删去
三、绑定前后台模块,将url简化为(www.tp5.com/index.php/t)
(绑定方法有很多可以通过tp5官方文档详细了解)
我推荐使用批量注册的方法绑定:
目标文件:application/route.php
先注释掉文件内的原有代码然后写入如下代码:
//引入系统类
use think\Route;
//定义路由规则
Route::rule([
'/t'=>'index/index/test',
],'','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:\phpStudy\WWW\thinkphp5\public"
2.修改网站根目录下的.htaccess文件为
<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>
其实只是做了一个小修改,
将原文件倒数第二行 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改成了 RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
就添加了一个 ‘?’ 而已
3.改完配置后,重启apache
五、完全Ok啦,使用www.tp5.com/t作为api入口吧!
(本文为原创文章,转载请注明来自:http://www.cnblogs.com/piaobodewu/)
网站url路径优化方法完全讲解 (url优化、基于tp5、API接口开发)的更多相关文章
- MySQL性能优化方法四:SQL优化
原文链接:http://isky000.com/database/mysql-performance-tuning-sql 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需 ...
- jsp获取url路径的方法
如果你请求的URL是 http://localhost:8080/demo/Index.jsp request.getScheme() //输出:http request.getServerName ...
- Slave延迟很大的优化方法总结(MySQL优化)
[http://www.cstor.cn/textdetail_9146.html] 一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在m ...
- MySQL性能优化方法三:索引优化
原文链接:http://isky000.com/database/mysql-performance-tuning-index 大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引可以提高数据 ...
- 破解网站码验证,Java实现,不调用任何平台api接口
package image.images; import java.io.File; import java.io.IOException; import java.io.InputStream; i ...
- 使用PHP做移动端 api接口开发方法(适用于TP框架)
1. [代码]使用TP框架时 放在common文件夹下文件名就叫function.php ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...
- urllib.parse:很底层,但是是一个处理url路径的好模块
介绍 urllib.parse是为urllib包下面的一个模块,urllib的其它模块完全可以使用requests替代.但是urlli.parse我们是有必要了解的,因为该模块下面有很多操作url路径 ...
- fileReader对象读取txt文件乱码问题 以及如何获取文件的url路径(绝对路径)
<input type="file" @change="aaa($event)"> <div id="hi">< ...
- 干货:SEO长尾关键词优化方法和技巧
在网站SEO优化上,优化比较成功的网站,根据SEO界前辈的经验结论,网站的总流量主要来源于长尾关键词,占网站总流量的80%.长尾关键词主要分布在网站的文章页,其次就是栏目页title.标签页.专题页等 ...
随机推荐
- 190906mysql常用语法
1.创删数据库: create database mydb; 复杂一点可以设置字符集和校对规则:create database mydb character set gbk collate gbk_c ...
- 3.Git 命令行操作
1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成G ...
- tinymce + vue 富文本编辑
用texterea最多支持换行,如果文本信息想要更加丰富一些,比如增加格式样式,比如增加图片,textarea就爱莫能助了 在网上搜寻了一番,发现tinymce是比较方便好用的一款富文本编辑 http ...
- P1352 没有上司的舞会[树形dp]
题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri, ...
- 如何在vscode中用standard style 风格去验证 vue文件
1 JavaScript Standard Style简介 本工具通过以下三种方式为你(及你的团队)节省大量时间: 无须配置. 史上最便捷的统一代码风格的方式,轻松拥有. 自动代码格式化. 只需运行 ...
- Hdu 4312-Meeting point-2——哈夫曼距离与切比雪夫距离
题意 从 $n$ 个点中选择一点,使得其他点到其的切比雪夫距离最小($0 < n \leq 1e5$). 分析 定理:$(x_1, y_1)$ 与 $(x_2, y_2)$ 的曼哈顿距离等于 $ ...
- The 2019 China Collegiate Programming Contest Harbin Site F. Fixing Banners
链接: https://codeforces.com/gym/102394/problem/F 题意: Harbin, whose name was originally a Manchu word ...
- 40、扩展原理-BeanDefinitionRegistryPostProcessor
40.扩展原理-BeanDefinitionRegistryPostProcessor BeanDefinitionRegistryPostProcessor extends BeanFactoryP ...
- HDU 6010 - Daylight Saving Time
先算周几,再模拟 #include <bits/stdc++.h> using namespace std; int GetWeekDay(int y,int m,int d)//0为周一 ...
- 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础
什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...