小魔女 发表于 2015-2-4 00:00:13

PHP编程:apache办事器中.htaccess的功效及写法

通过这段时间的学习实践,对软件开发有了更多新的认识,不在局限于之前的片面性。当然,现在所学到的东西其实并不多,离当一个真正的程序员,还有很大的差距。   因为我今朝的空间撑持.htaccess,这篇文章很周全的引见了.htaccess的功效和.htaccess写法,同时外面也讲了关于url_rewrite的器材,因而转过去,感觉挺有效处的


- .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)$ http://www.phpv.net/img_PageNotFound.gif 基础这个东西是个比较笼统的概念,如果你之前学习过c语言, c语言被认为是

冷月葬花魂 发表于 2015-2-4 07:59:53

实践是检验自己会不会的真理。

精灵巫婆 发表于 2015-2-6 03:10:39

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

深爱那片海 发表于 2015-2-15 07:38:02

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

愤怒的大鸟 发表于 2015-3-4 11:23:19

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

第二个灵魂 发表于 2015-3-4 11:23:19

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

乐观 发表于 2015-3-11 18:51:03

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

因胸联盟 发表于 2015-3-19 07:52:46

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

若天明 发表于 2015-3-24 09:36:16

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

活着的死人 发表于 2015-3-29 19:44:43

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

海妖 发表于 2015-4-1 20:08:50

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

莫相离 发表于 2015-4-18 14:29:26

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

飘飘悠悠 发表于 2015-4-26 11:32:03

实践是检验自己会不会的真理。

分手快乐 发表于 2015-4-26 22:34:48

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

灵魂腐蚀 发表于 2015-4-29 04:46:05

写的比较杂,因为我也是个新手,不当至于大家多多指正。

谁可相欹 发表于 2015-5-3 01:02:27

写的比较杂,因为我也是个新手,不当至于大家多多指正。

只想知道 发表于 2015-5-12 14:05:23

做为1门年轻的语言,php一直很努力。

金色的骷髅 发表于 2015-6-5 10:56:17

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

柔情似水 发表于 2015-6-11 14:34:41

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

不帅 发表于 2015-6-15 08:26:41

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
页: [1] 2
查看完整版本: PHP编程:apache办事器中.htaccess的功效及写法