.htaccess重定向和url重写详细介绍(htaccess重写功能)

.htaccess重定向和url重写详细介绍(htaccess重写功能)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

什么是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

分享到 :
相关推荐

韩国游戏服务器有哪些优势(韩国游戏服务器有哪些优势和劣势)

韩国游戏服务器的优势有:1。不用备案。对网站的限定內容少。能快速上线网站;2。有国际...

国外服务器如何租用(国外服务器如何租用网络)

国外服务器租用技巧:1。需要了解自身业务对服务器配置的需求。从而选择满足业务需求的服...

适合使用香港免备案服务器建站的行业有哪些(适合使用香港免备案服务器建站的行业有哪些)

适合使用香港免备案服务器建站的行业有:1。外贸网站。香港服务器能免去备案的手续。实现...

登录云服务器后怎么配置环境变量(登录云服务器后怎么配置环境变量设备)

登录云服务器后配置环境变量的操作步骤:1.在云服务器桌面。右键“我的电脑”选择“属[...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注