科技常识:.htaccess重定向和url重写详细介绍

2021-04-03 15:17:51
导读 今天小编跟大家讲解下有关科技常识: htaccess重定向和url重写详细介绍,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常

今天小编跟大家讲解下有关科技常识:.htaccess重定向和url重写详细介绍,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:.htaccess重定向和url重写详细介绍的相关资料,希望小伙伴会喜欢也能够帮助大家。

什么是htaccess 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 一个简单的重定向 复制代码 代码如下:Redirect 301 ^old.html$ http://localhost/new.html 这是设置一个http状态码为301(永久移动)并把所有访问old.html转向到new.html。使用了正则表达式来匹配访问的页面,后面的url必须是完整路径。 Url重写 复制代码 代码如下: RewriteEngine on RewriteRule ^old.html$ new.html 第一行打开重写引擎 第二行是重写规则。这样用户访问old.html时实际却是访问的new.html,而且用户对此好吧知情。因为地址栏里依旧显示是old.html。 为了在地址栏显示新的访问地址,我们可以加个f标志在rewriterule语句里。 复制代码 代码如下: RewriteRule ^old.html$ http://hostname/new.html [r=301] 下面是把带查询参数的url重写成对搜索引擎友好的url 复制代码 代码如下: RewriteRule ^products/([^/]+)/([^/]+)/([^/]+) product.php?cat=$1&brand=$2&prod=$3 这条规则允许访问者以类似这样的 url products/turntables/technics/sl1210, 来访问product.php?cat=turntables&brand=technics&prod=sl1210. 括号里为一个单元,分别对应后面的$1,$2,$3。[^/]+ 在原括号里表示除了/之外的任何一个或是多个字符。 自定义错误页面 复制代码 代码如下:ErrorDocument 404"/404.html"这是定义404页面无法找到的错误,也可以定义其他错误代码的页面。 限定访问特点资源 复制代码 代码如下: <Files"protectedfile.html"> AuthName"Username and password required"AuthUserFile/path/to/.htpasswd Require valid-user AuthType Basic </Files> 保护protectedfile.html,authName是登陆框的提示信息,authuserfile是.htpasswd文件的路径 阻止某些ip访问 复制代码 代码如下: order allow,deny deny from 192.168.0.1 allow from allOrder 告诉apache指令的顺序。这里的这个是先允许后拒绝的。虽然allow from all后出现但是还是在前面生效。拒绝了192.168.0.1的访问。也可以按段来屏蔽访问的,只要只指定前面的几段就可以类似,192.168. 实现缓存 复制代码 代码如下: ExpiresActive on ExpiresByType image/gif"access plus 1 month"ExpiresByType image/png"access plus 1 month"ExpiresByType image/jpg"access plus 1 month"ExpiresByType image/jpeg"access plus 1 month"第一行开启,下面分别控制各种资源都加上一个月的缓存期。这个功能依赖apache的mod_expires 模块。 认证举例 如果你只是为了知道如何认证,而直接从这里开始看的,有很重要的一点需要注意,有一种常见的误解,认为实现密码认证必须要使用.htaccess文件,其实是不正确的。把认证指令放在主配置文件的<Directory>段中是一个更好的方法,而.htaccess文件应该仅仅用于无权访问主配置文件的时候。参见上述关于何时应该与何时不应该使用.htaccess文件的讨论。 有此声明在先,如果你仍然需要使用.htaccess文件,请继续看以下说明。 .htaccess文件的内容: 复制代码 代码如下: AuthType Basic AuthName"Password Required"AuthUserFile /www/passwords/password.file AuthGroupFile /www/passwords/group.file Require Group admins 必须设置 AllowOverride AuthConfig 以允许这些指令生效。 服务器端包含(SSI)举例 .htaccess文件的另一个常见用途是允许一个特定的目录使用服务器端包含(SSI),可以在需要的目录中放置.htaccess文件,并作如下配置: 复制代码 代码如下: Options +Includes AddType text/html shtml AddHandler server-parsed shtml 注意,必须同时设置 AllowOverride Options 和 AllowOverride FileInfo 以使这些指令生效。 指令的作用范围.htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录,但是很重要的、需要注意的是,其上级目录也可能会有.htaccess文件,而指令是按查找顺序依次生效的,所以一个特定目录下的.htaccess文件中的指令可能会覆盖其上级目录中的.htaccess文件中的指令,即子目录中的指令会覆盖父目录或者主配置文件中的指令。 例子: 复制代码 代码如下: /www/htdocs/example1 目录中的.htaccess 文件有如下内容: Options +ExecCGI (注意:必须设置"AllowOverride Options"以允许在.htaccess中使用"Options"指令) /www/htdocs/example1/example2目录中的.htaccess文件有如下内容: Options Includes

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章