zoukankan      html  css  js  c++  java
  • 网站之.htaccess文件

      Apache系统中的.htaccess文件(分布式配置文件)提供了针对目录改变配置的方法,也就是在一个特定的文件目录中放置一个包含指令的文件,以作用于此目录以及所有子目录.直白的说,.htaccess文件只是一个简单的文档,可以在里面添加些简单的命令实现各种不同的配置.

      作用:

        1.设置404页面

          1) Apache服务器404页面的设置方法

            在.htaccess文件中加入代码:

          

    ErrorDocument 404 /Error.html

            建立简单的HTML404页面Error.html, 把该Error.html放置在网站根目录即可.

          2) IIS/ASP.net下设置404错误页面

            首先,修改应用程序根目录的配置,打开"web.config"文件,在其中添加内容:

    <configuration>
    <system.web>
    <customErrors mode="On" defaultRedirect="error.asp">
    <error statusCode="404" redirect="nofound.asp">
    </customErrors>
    </system.web>
    </configuration>

            其中"error.asp"为系统默认的404页面,"nofound.asp"为自定义的404页面,使用时请修改相应文件名.

            然后,在自定义404页面"nofound.asp"中加入:

    <%
    Response.Status = "404 Not Found"
    %>

        2. 实现URL重定向

          我们可以对网站进行重新规划,将文档进行迁移,或者更改目录,这个时候,来自搜索引擎或者其他网站链接过来的访问就可能错误.这种情况下,可以通过如下指令来完成旧的URL自动转向新的地址:

    Redirect /旧目录/旧文件名  新文档的地址
    
    或者整个目录的转向:
    
    Redirect /olddirectory http://www.newsite.com/newdirectory

           这样,任何指向站点中olddirectory目录的请求将被重新指向新的站点,包括添加的额外URL信息,例如:

    http://www.youroldsite.com/olddirectory/oldfiles/images/image.gif
    
    请求被重定向到:
    
    http://www.newsite.com/olddirectory/oldfiles/images/image.gif
    

      

        3. 密码保护

          有时候你可能针对某个目录设定对应的密码保护,首先要生成一个.htpasswd文件,然后输入用于访问网站的用户名和密码,格式:

    username password
    
    //其中password的应该是加密之后的密码,另外需要注意: .htpasswd文件的位置最好放置在www目录之外,较为安全
    

          最后,在.htaccess中添加指令:

    AuthUserFile /full/path/to/.htpasswd(.htpasswd的服务器目录)
    AuthGroupFile /dev/null  (需要授权访问的目录)
    AuthName EnterPassword
    AuthType Basic (授权类型)
    Require valid-user
    

      这样就完成了使用.htaccess文件实现网站目录密码保护

      注:  在使用.htaccess来设置目录的密码保护的时候,它包含了密码文件的路径. 从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容.最简单的方式在.htaccess文件中加入指令:

    order    allow,deny
    deny  from all

        4. 拒绝某个ip的访问请求

    order    allow,deny
    deny from 220.134.342.33
    deny from 220.134.342
    allow from all

        其中第二行代码为拒绝某个ip,第三行拒绝某个ip段, 如果想阻止所有人访问

    deny    from     all
    

      

        5.文件防盗链

          

          很多站长都会遇到比较郁闷的问题,就是有些人会经常盗链自己网站的图片、软件等资源,这样造成了不必要的流量浪费。想要防止盗链简单的做法是在.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]

      

  • 相关阅读:
    游戏引擎/GUI的设计与实现-主题
    Perl 写的巡检数据库的脚本
    Perl 利用grep 判断元素是否在数组里
    抓报错对应的SQL
    org.hibernate.exception.GenericJDBCException: Could not open connection
    java.sql.SQLException: Access denied for user 'sa'@'localhost' (using password: YES)
    java.sql.SQLException: Access denied for user 'sa'@'localhost' (using password: NO)
    Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index
    Caused by: org.h2.jdbc.JdbcSQLException: Table "T_STUDENT_INFO" not found; SQL statement
    No bean named 'hibernateTemplate' is defined
  • 原文地址:https://www.cnblogs.com/xingxia/p/web_htaccess.html
Copyright © 2011-2022 走看看