apache开启.htaccess

1 . 如何让的本地APACHE开启.htaccess
如何让的本地APACHE开启.htaccess呢?其实只要简朴修改一下apache的httpd.conf设置就让APACHE.htaccess了,来看看操做
打开httpd.conf(文件在 APACHE目录的CONF目录里面),用文本编辑器打开后,查找
(1)
Options FollowSymLinks
AllowOverride None

改成
Options FollowSymLinks
AllowOverride All

(2)去掉下面的注释
LoadModule rewrite_module modules/mod_rewrite.so
就能够了php

2. htaccess 写法
  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 “你权限访问该页面,请抛却!”

  文档访问的密码保护

  要利用.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.10.56.32
  deny from 219.5.45.
  allow from all

  第二行拒绝某个IP,第三行拒绝某个IP段,也219.5.45.0~219.2.45.255

  想要拒绝人?用deny from all好了。不止用IP,也用域名来设定。

  保护.htaccess文档

  在.htaccess来设置目录的密码保护时,它包含了密码的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的。虽然用其余作到这点,比如文档的权限。不外,.htaccess自己也能作到,只需加入以下的指令:

  order allow,deny
  deny from all

  URL转向

  可能对从新规划,将文档了迁移,或者更改了目录。这,来自搜索引擎或者其余连接过来的访问就可能犯错。这种下,以下指令来完成旧的URL自动转向到新的:

  Redirect /旧目录/旧文档名 新文档的

  或者整个目录的转向:

  Redirect 旧目录 新目录

  改变缺省的首页

  通常下缺省的首页名有default、index等。不外,有些目录中没出缺省,而是某个特定的名,比如在pmwiki中是 pmwiki.php。这种下,要记住名来访问很麻烦。在.htaccess中等闲的设置新的缺省名:

  DirectoryIndex 新的缺省名

  也列出多个,顺序代表它们之间的优先级别,例如:

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

  防止盗链

  不喜欢别人在的网页上链接的、文档的话,也htaccess的指令来作到。

  所的指令以下:

  RewriteEngine on
  RewriteCond %{ HTTP_REFERER } !^$
  RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
  RewriteRule .(gif&line;jpg)$ - [F]

  以为让别人的页面开个天窗很差看,那用一张来代替:

  RewriteEngine on
  RewriteCond %{ HTTP_REFERER } !^$
  RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
  RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代名 [R,L]

其它补充:
在给出如何配置Apache支持.htaccess文件以前,首先申明一下:使用.htaccess文件,会下降httpd服务器的一点性能。

配置方法
找到Apache的httpd.conf配置文件,编辑器打开。

//找到
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

//修改成

<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>

//就能够了

/*
若是须要使用.htaccess之外的其余文件名,能够用AccessFileName指令来改变。
例如,须要使用.config ,则能够在服务器配置文件中按如下方法配置:
*/
AccessFileName .config  一般,.htaccess文件使用的配置语法和主配置文件同样。AllowOverride指令按类别决定了.htaccess文件中哪些指令才是有效的。

(不)使用.htaccess文件的场合
  通常状况下,不该该使用.htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能经过.htaccess文件实现,其实并非这样,把用户认证写在主配置文件中是彻底可行的,并且是一种很好的方法。
  .htaccess文件应该被用在内容提供者须要针对特定目录改变服务器的配置而又没有root权限的状况下。若是服务器管理员不肯意频繁修改配置,则能够容许用户经过.htaccess文件本身修改配置,尤为是ISP在同一个机器上运行了多个用户站点,而又但愿用户能够本身改变配置的状况下。
  虽然如此,通常都应该尽量地避免使用.htaccess文件。任何但愿放在.htaccess文件中的配置,均可以放在主配置文件的段中,并且更高效。
避免使用.htaccess文件有两个主要缘由。
  首先是性能。若是AllowOverride启用了.htaccess文件,则Apache须要在每一个目录中查找.htaccess文件,所以,不管是否真正用到,启用.htaccess都会致使性能的降低。另外,对每个请求,都须要读取一次.htaccess文件。
  还有,Apache必须在全部上级的目录中查找.htaccess文件,以使全部有效的指令都起做用,因此,若是请求/ctusky/ctu/sky中的页面,Apache必须查找如下文件:

/.htaccess
/ctusky/.htaccess
/ctusky/ctu/.htaccess
/ctusky/ctu/sky/.htaccess  一共就要访问4个额外的文件,就算这些文件都不存在,这也是本文开始说会影响服务器的一点性能的缘由。
  其次是安全。这样会容许用户本身修改服务器的配置,这可能会致使某些意想不到的修改,因此请认真考虑是否应当给予用户这样的特权。  html

相关文章
相关标签/搜索