飘飘悠悠 发表于 2015-2-3 23:56:16

PHP教程之apache中.htaccess文件的功效写法

PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。access|apache   - .htaccess文件(或"散布式设置装备摆设文件"供应了针对目次改动设置装备摆设的办法, 即,在一个特定的文档目次中放置一个包括一个或多个指令的文件, 以感化于此目次及其一切子目次。作为用户,所能利用的号令遭到限制。办理员可以经由过程Apache的AllowOverride指令来设置。

- 子目次中的指令会掩盖更初级目次或主办事器设置装备摆设文件中的指令。

- .htaccess必需以ASCII形式上传,最好将其权限设置为644。

毛病文档的定位

经常使用的客户端恳求毛病前往代码:
401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
罕见的办事器毛病前往代码:
500 Internal Server Error

用户可以使用.htaccess指定本人事前制造好的毛病提示页面。普通情形下,人们可以专门设立一个目次,例如errors放置这些页面。然后再.htaccess中,到场以下的指令:

ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html

一条指令一行。上述第一条指令的意思是关于404,也就是没有找到所需求的文档的时分得显示页面为/errors目次下的notfound.html页面。不好看出语法格局为:

ErrorDocument 毛病代码 /目次名/文件名.扩大名

假如所需求提醒的信息很少的话,不用专门制造页面,直接在指令中利用HTML号了,例以下面这个例子:

ErrorDocument 401 "<body bgcolor=#ffffff><h1>你没有权限会见该页面,请保持!</h1></body>"

文档会见的暗码回护

要使用.htaccess对某个目次下的文档设定会见用户和对应的暗码,起首要做的是生成一个.htpasswd的文本文档,例如:

zheng:y4E7Ep8e7EYV

这里暗码经由加密,用户可以本人找些东西将暗码加密成.htaccess撑持的编码。该文档最好不要放在www目次下,建议放在www根目次文档以外,如许更加平安些。

有了受权用户文档,可以在.htaccess中到场以下指令了:

AuthUserFile .htpasswd的办事器目次
AuthGroupFile /dev/null (需求受权会见的目次)
AuthName EnterPassword
AuthType Basic (受权类型)

require user wsabstract (答应会见的用户,假如但愿表中一切用户都答应,可使用 require valid-user)

注,括号局部为进修时分本人添加的正文

回绝来自某个IP的会见

假如我不想某个当局部分会见到我的站点的内容,那可以经由过程.htaccess中到场该部分的IP而将它们回绝在外。

例如:


order allow,deny
deny from 210.21.112.43
deny from 219.146.95
allow from all

第二行回绝某个IP,第三行回绝某个IP段,也就是219.146.95.0~219.146.95.255

想要回绝一切人?用deny from all好了。不止用IP,也能够用域名来设定。

回护.htaccess文档

在利用.htaccess来设置目次的暗码回护时,它包括了暗码文件的途径。从平安思索,有需要把.htaccess也回护起来,不让他人看到个中的内容。固然可以用其他体例做到这点,好比文档的权限。不外,.htaccess自己也能做到,只需到场以下的指令:

<Files .htaccess>
order allow,deny
deny from all
</Files>

URL转向

咱们能够对网站停止从头计划,将文档停止了迁徙,或更改了目次。这时候候,来自搜刮引擎或其他网站链接过去的会见便可能失足。这类情形下,可以经由过程以下指令来完成旧的URL主动转向到新的地址:

Redirect /旧目次/旧文档名 新文档的地址

或全部目次的转向:

Redirect 旧目次 新目次

改动缺省的首页文件

普通情形下缺省的首页文件名有default、index等。不外,有些时分目次中没出缺省文件,而是某个特定的文件名,好比在pmwiki中是pmwiki.php。这类情形下,要用户记住文件名来会见很费事。在.htaccess中可以等闲的设置新的缺省文件名:

DirectoryIndex 新的缺省文件名

也能够列出多个,按次标明它们之间的优先级别,例如:

DirectoryIndex filename.html index.cgi index.pl default.htm

避免盗链

假如不喜好他人在他们的网页上毗连本人的图片、文档的话,也能够经由过程htaccess的指令来做到。

所需求的指令以下:

RewriteEngine on
RewriteCond % !^$
RewriteCond % !^http://(www.)?phpv.net/.*$
RewriteRule .(gif|jpg)$ -

假如感觉让他人的页面开个天窗欠好看,那可以用一张图片来取代:

RewriteEngine on
RewriteCond % !^$
RewriteCond % !^http://(www.)?mydomain.com/.*$
RewriteRule .(gif|jpg)$ /UploadPic/2007-7/20077704121584.gif 培训的第一阶段,学习的是HTML/CSS/JavaScript基础。

精灵巫婆 发表于 2015-2-4 07:04:05

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

再见西城 发表于 2015-2-9 18:20:52

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

蒙在股里 发表于 2015-2-27 15:39:03

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

小女巫 发表于 2015-3-1 03:07:33

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

柔情似水 发表于 2015-3-1 21:43:23

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

小魔女 发表于 2015-3-11 00:00:46

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

透明 发表于 2015-3-13 08:08:41

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

仓酷云 发表于 2015-3-19 17:35:51

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

分手快乐 发表于 2015-3-22 05:09:17

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

莫相离 发表于 2015-3-27 20:10:52

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

因胸联盟 发表于 2015-4-3 05:50:11

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

山那边是海 发表于 2015-4-22 22:48:43

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

变相怪杰 发表于 2015-5-1 02:10:15

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

第二个灵魂 发表于 2015-5-4 23:58:25

当然这种网站的会员费就几十块钱。

若天明 发表于 2015-5-6 07:11:45

为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。

爱飞 发表于 2015-6-5 07:46:36

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

愤怒的大鸟 发表于 2015-6-12 19:25:18

本文当是我的笔记啦,遇到的问题随时填充

若相依 发表于 2015-6-20 20:28:13

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

admin 发表于 2015-6-27 07:36:58

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
页: [1]
查看完整版本: PHP教程之apache中.htaccess文件的功效写法