.htaccess
文件进行重定向,可以使用以下代码片段:,,``apache,RewriteEngine On,RewriteRule ^oldurl$ /newurl [R=301,L],
`,,将
^oldurl$ 替换为你想要重定向的旧 URL,将
/newurl 替换为新的 URL。
[R=301,L]` 表示执行永久重定向(HTTP 状态码 301)并停止处理后续规则。Apache .htaccess重定向
1、什么是URL重定向:
URL重定向(URL redirection,或称网址重定向或网域名称转址),是指当使用者浏览某个网址时,将他导向到另一个网址的技术。
2、URL重定向配置步骤:
首先需要apache开启重定向,修改httpd.conf配置,查找:
Options FollowSymLinks AllowOverride None
改为
Options FollowSymLinks AllowOverride All
去掉LoadModule rewrite_module modules/mod_rewrite.so前面的行号#。
在网站目录中使用.htaccess文件进行重定向配置,将一个网站的根目录下的所有访问都定向到百度:
RewriteEngine on RewriteCond %{HTTP_HOST} !^(.+)\.baidu\.com$ [NC] RewriteRule ^(.*)$ http://www.baidu.com/$1 [L,R=301]
3、.htaccess文件的作用:
.htaccess文件可以用于文件夹密码保护、用户自定义重定向、自定义404页面、扩展名伪静态化、禁止特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表等。
4、基本正则表达式:
. 匹配换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,m} 重复n到m次
( ) 表示一个分组,可以用$1 $2等引用第一个括号匹配的内容
5、.htaccess语法规则:
RewriteEngine On | Off:开启或关闭rewrite功能
RewriteBase /:设定URL前缀,用于指定服务器处理URL的哪个部分
RewriteCond TestString CondPattern [flags]:定义一个规则的条件,当前URI与TestString匹配且满足CondPattern时,条件成立
RewriteRule Pattern Substitution [flags]:如果Pattern匹配,就重定向到Substitution
6、FAQs:
Q: 如何在.htaccess文件中实现301重定向?
A: 可以使用以下代码实现301重定向:
RewriteEngine on RewriteCond %{HTTP_HOST} !^(.+)\.olddomain\.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
Q: 如何防止图片盗链?
A: 可以使用以下代码防止图片盗链:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/.*$ [NC] RewriteRule \.(jpg|jpeg|png|gif)$ /images/hotlink.jpg [L]
Q: 如何设置自定义404页面?
A: 可以在.htaccess文件中添加以下代码:
ErrorDocument 404 /path/to/your/custom/404.html