近期帮助一位站长解决了网站无法访问的问题, 显示错误“The requested URL '/' was not found on this server.( 请求的URL(对象)在服务器找不到 )”。结果,原因仅仅是因为网站根目录没有.htaccess文件。
.htaccess文件
就此,先森开始重新认识.htaccess文件。发现其实先森本站上对.htaccess的运用所发布的文章都已经有几篇了:
认识.htaccess
.htaccess的运用竟然如此之多,先森不禁有点吃惊。赶紧百度安利一波关于htaccess文件的知识。
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
大部分的主机供应商都支持自定义,htaccess文件,先森使用的阿里云虚拟主机,.htaccess文件还是自己上传的。建站初期,我们只需要有个.htaccess文件存在即可,里面放些初始配置语句即可:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
其实很简单的就可以看出,上面这段初始配置中,就包括了定义index.php文件为首页默认文件的相关配置,这也就是那位站长网站不能访问的原因了。
先森上面提到的三篇文章就分别使用了允许/阻止特定的用户或者目录的访问、网页301重定向、改变文件扩展名的功能,.htaccess的功能可谓非常强大。在使用虚机不能接触.conf配置文件的情况下,.htaccess能给我们提供不小的便利。
一些杂谈
先森培训红帽Linux,在培训到RHCE的时候,终于接触到Apache的配置了。老师教了我们如何在服务端主机上配置虚拟主机,自然接触到了自定义配置文件。自定义配置文件是在/etc/httpd/conf.d/下,随便创建一个以.conf结尾的文件即可。其中涉及到的301重定向和禁止访问,先森看那些配置语句,是越看越熟悉,原来和.htaccess的是一样的。
先森曾经对WordPress缓存插件WP Super Cache的工作方式产生了疑问,它是如何访客访问的页面是其保存在另一个文件夹内的文件的呢,明明没有跳转什么的?先森钻了很久的牛角尖,而后顿悟,在其设置中有写入.htaccess的规则,就是这些规则让访问的链接与其缓存文件对应。
不过htaccess再怎么有用,它也只是分布式配置文件,要是httpd.conf中把开关一关,它也就没用了。所以有条件的还是直接折腾服务器的配置文件吧,这样更有意思。如果你还是一名在校大学生,可以试试腾讯云的学生机:直播了一段用腾讯云校园计划1元购买免费域名+专享服务器及安全认证
历史上的今天:
- 2015: 系部简介(0)
转载请注明出处来自https://www.capjsj.cn/htaccess.html
写的还不错,鼓励鼓励~~~
主要用于apache
以前用过,现在不怎么用了,一般主机控制面板都有301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档,不过功能是很强大,前提是空间商要给你开启才行
@郑海滨博客: 这个确实是,但是阿里云的万网主机控制面板好像没这么强大,只有几个功能
@狂族晨曦: 我用的是景安的服务器,不知道你听过没有,万网的个人觉得不怎么好用。
这东西还可以用一个空间建两个站,就是没有试验过。
一般的Linux虚拟主机好像都有.htaccess文件,用习惯了这个还是挺好用的
用.htaccess做过缓存。
确实不错
还是搞不懂这些东西
计算机系的学生就是牛,博客搞的不错,赞!!!
总感觉这是经过网站的大门。
挺好用的!
没太留意到这些
o ,感谢博主分享
尤其是伪静态,这个文件就更重要了。
这个就是方向盘。
多谢分享
我就知道这东西是用来做伪静态的。还有301跳转的。
留下脚印,欢迎回访