自己上传服务器的界面总是需要xx.xx.xx.html才可以读取,不加html就报错,显得很不高级.
.
本次教程教大家如何去掉html后缀,本质上就是字符串转换。
首先需要你有教程二中的Xshell和Xftp工具。下面的操作需要你看过教程二才可以理解(放心没教程一那么长,很简单的)。
1.确认是否有mod_rewrite.so
在linux全局搜索find / -name "mod_rewrite*
确认mode_rewrite.so是否存在。
一般都会在,如果不在,需要自行去百度下载。
2.修改httpd.conf文件
2.1找到httpd.conf文件并下载到本地。
截图中右侧是我的目录结构,若和你不一样,请在命令行全局搜索查找。
搜索方法在教程二。
2.2找到有LoadModule部分
如果有这句话 :
# LoadModule rewrite_module modules/mod_rewrite.so
则把注释符号#号去掉即可。
若没有,则在该部分加上
LoadModule rewrite_module modules/mod_rewrite.so
2.3修改AllowOverride None为AllowOverride ALL
搜索找到所有的AllowOverride None的部分(可能不止一个)。
若AllowOverride不是ALL,则改为ALL。
让所有的文件夹都支持.htaceess。
2.4上传更新httpd.conf文件,并重启Apeche。
systemctl restart httpd
3.编写.htaccess文件
注:有的windows不可以直接创建.htacess文件,并且.htaccess文件不可通过Xftp上传到服务器。
所以,我们可以先创建txt文本文件,上传到服务器上在修改名字为.htaccess。
3.1让Xftp可以显示隐藏文件。
工具>选项,勾选显示隐藏文件夹。
3.2编写txt
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^test$ /ZGTest.html [L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
</IfModule>
RewriteEngine On :启动URL重写引擎
RewriteRule ^test$ /ZGTest.html [L] : URL上的test,实际调用了ZGTest.html。
RewriteRule ([.]+)$ $1.html [NC,L]:将URL所有不带html的,实际调用文件时加上了.html。
[L]表示停下来处理规则。
更多.htaccess文件规则请看这篇文章。
3.3上传txt文件,到项目根目录。
上传txt到网页项目的根目录,若只有一个测试网页,则和网页平级即可。
上传成功后,将txt文件名改为.htaccess即可。
4.测试
打开浏览器,输入网址测试即可。
有问题欢迎在评论区留言一起讨论。
谢谢阅读,如果对你有帮助可以给我点个赞,或者加个收藏,方便以后查看。
如果可以一键三连,那就太好了。