📅  最后修改于: 2023-12-03 14:58:11.554000             🧑  作者: Mango
在Web开发中,通过 .htaccess 文件可以实现重定向请求,这是非常便利的一个功能。.htaccess 文件是 Apache 服务器中的一个配置文件,用于对目录进行设置,可以定义目录中的文件和文件夹的访问权限、错误处理、URL 重定向等。
重定向请求是服务器将访问一个URL时,将其自动转向到另一个URL的过程。可以用来将URL从一个位置重定向到另一个位置,或者重定向已删除的资源。
重定向请求有两种类型:
永久重定向会告诉搜索引擎这个页面已经永久地转移到了新的位置,应该更新索引。而临时重定向则是暂时将访问请求重定向到另一个页面,但搜索引擎不会将其认为是新的位置,在之后的请求中仍会访问原始地址。
# Redirect a single page
Redirect 301 /old-page.html http://www.example.com/new-page.html
# Redirect an entire site
Redirect 301 / http://www.newexample.com/
第一行代码为将单个页面 /old-page.html
重定向到 http://www.example.com/new-page.html
。第二行代码将整个网站重定向到 http://www.newexample.com/
。
# Redirect a single page
Redirect 302 /old-page.html http://www.example.com/new-page.html
# Redirect an entire site
Redirect 302 / http://www.newexample.com/
与永久重定向类似,只需要将前面的 301
修改为 302
即可实现临时重定向。
.htaccess
还有一个更强大的函数 RewriteRule
可以实现更复杂的重定向请求。比如我们可以将所有访问静态资源的请求重定向到 CDN 上:
RewriteEngine On
RewriteRule ^(.*)\.(jpg|jpeg|png|gif|css|js)$ http://cdn.example.com/$1.$2 [R=301,L]
使用正则表达式 ^(.*)\.(jpg|jpeg|png|gif|css|js)$
匹配所有访问的文件,然后将其重定向到 CDN 上。
.htaccess
文件重要性不容低估,必须保护好文件,不要让其暴露在外网上。