网站运营
位置:首页>> 网站运营>> .htaccess重定向和url重写详细介绍

.htaccess重定向和url重写详细介绍

  发布时间:2023-10-19 12:22:50 

标签: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

0
投稿

猜你喜欢

  • 前不久,在研究SEO时发现一个好东东Dmoz(The Open Directory Project/ODP),是一个人工编辑管理的目录集合,
  • 如果采用root账号登录编辑/etc/bashrc内容,那所有其他帐号登录都会提示相同的内容,如果想每个用户进行配置,那就去每个帐号的目录下
  • 重复的内容已成为搜索引擎优化的一个巨大话题近来,由于新的过滤器,搜索引擎已经实施。我们也会告诉您如何您可以判断如果您的网页中有重复的内容,以
  • 对于一个新站来说,做友情链接是非常不错的一种推广网站的手段,只是这个链接到底该怎么做,不少人都是非常盲目的,许多站长在寻找外链时也会出现了许
  • 什么是操作系统呢?这个问题很简单吧!管理计算机软硬件的软件就是操作系统。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操
  • 模板导入方法如下:1. 登陆后台->常规设置->模板导入->选择模板数据库下载一步->选择要导入的模板(注:这里可以
  • 作SEO的朋友估计有非常大的一部分是专门针对百度的,因为有实实在在的流量。相信大家都感觉到了,这个十月的里的百度,就像时下的天气一样开始变化
  • 你的网站是不是常常被黑,或者一不注意就成了黑客的“肉鸡”?对于Web网站服务器来说,如果不进行安全设置,很容易被黑客“盯上”,随时都有被入侵
  • 对邮件服务器的攻击形式多种多样:有利用缓冲区溢出漏洞进行的攻击,还有拒绝服务攻击和目录收集攻击等等。加固邮件服务器、使用邮件过滤工具、采用被
  • 在第二个节点上安装群集服务所需的时间要比在第一个节点上安装所需的时间少。“安装”程序基于第一个节点的配置,在第二个节点上配置群集服务网络设置
  • 今年开始到未来的3年,是我国电子商务进入高速发展期的核心时期,电子商务低成本、高效率、信息对称这些优势会迅速地爆发出来,并被大家所接受。电子
  • 1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。[root@centos7 etc]# ls -
  • 北京10月16日电2008年12月24日台湾异想数位娱乐有限公司和大陆淘米公司签订合同。《摩尔庄园》在台正式上线。初期推广与大玩国配合,将摩
  • 男子刘某利用系统漏洞,骗购近10万元物品。昨天上午,他在朝阳法院少年审判庭受审时,面对检察官出示的口供和书证,坚称不认罪。检方指控称,去年4
  • 作为一个新站长,我实在不想写这篇文章. 但是今天我发现我的一个小炒作竟然成功了.所以还是和大家分享一下这20多天的建站历程.我的网站是一个图
  • 北京时间11月7日消息,据国外媒体报道,美国互联网流量监测机构comScore周五宣布,已发布今年9月全球10大互联网资产排行榜。以用户停留
  • 前段时间自己的一个网站进沙盒了,心里很是着急,现在这个网站终于走出google的沙盒了,现在和大家分享下 ,其实对待网站进沙盒如何让网站尽快
  • 系统启动时需要加载的配置文件/etc/profile、/root/.bash_profile/etc/bashrc、/root/.bashr
  • 很多人都说虚拟机不易管理,原因是我们对于虚拟化的使用技巧掌握的还不是很好。今天,我们就来看三个Linux下的VMware workstati
  • 网站在搜索引擎中被K掉(处理),如网站首页搜索没有收录、网站收录被拔掉、排名下降、都是网站被K的现象。网站被K是广大站长最为头疼的事之一,总
手机版 网站运营 asp之家 www.aspxhome.com