将不带www重定向带WWW的地址,请看如下代码:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(aaaa\.com)(:80)? [NC]
RewriteRule ^(.*) http://www.aaaa.com/$1 [R=301,L]
order deny,allow
如果是将带www的定向到不带www的情况,写法和上面差不多,就不多说了。将上面代码复制到记事本,然后重命名为.htaccess,上传到网站的根目录即可。如果是本地不支持此命名,可以先传到根目录再修改文件名称即可。
二、网页的重定向。这里也可以分为两种情况。
第1种,只有少量网页需要重定向,方法如下:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Redirect permanent aaaa.com/old.html www.aaaa.com/new.html
order deny,allow
第2种,举例网站的导航的一个栏目改了路径时的重定向方法。原路径为/old/,新路径为/news/的情况如下:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Redirect permanent aaaa.com/old/ www.aaaa.com/new/
order deny,allow
同样,写在记事本,改名为.htaccess,同样上传到网站根目录即可。本地无法改名的时候入第一种中说到的方法易名。
以上就是Apache服务器实现301重定向的方法
Apache服务器实现301 重定向确保你主机提供商的Apache Rewrite Module组件已经打开,这是实现301重定向功能的必要前提。多数情况下,这个组件未被激活,只要点击激活就可以。进入服务器上的httpd.conf文件,那么你就可以自行激活这些组件了。打开httpd.conf文件,若出现错误,请在错误处返回,忽略下面这一行信息:LoadModule rewrite_module modules/mod_rewrite.so
然后保存文件,重启服务器,按照下列步骤进行
从你网站的原文件夹中找出httpd.conf文件,将它下载到你机器中某个可以编辑该文件的文件夹中。
复制httpd.conf文件,保存到安全的地方—但不要编辑这个复制文件;需要旧版本httpd.conf文件时,以供使用;
打开下载在写字板中的原httpd.conf文件
将下面代码添加到httpd.conf文件中。用你自己网站的域名信息代替“183.1.2.3”,注意不要更改其他地方。RewriteEngine On
RewriteCond %{HTTP_HOST} ^183.1.2.3
RewriteRule (.*) http://183.1.2.3/$1 [R=301,L]
将更改的httpd.conf文件上传到从你网站上下载它的原位置
上传完成后,打开浏览器,访问你网站的“183.1.2.3”的那个地址。如果.htaccess文件执行任务的话,浏览器的地址栏中会立即显示出你的“183.1.2.3”的这个域名,那么你已经被重定向到这个地址上了
当用户拼错的URL、不存在的URL重定向到别的网页,例如网站的首页、404页面等。如何在apache下实现这些页面的重定向呢,我们可以在httpd.conf或.htaccess文件中使用ErrorDocument来捕获404 (找不到文件)错误:ErrorDocument 404 /index.html
DirectoryIndex index.html /path/to/notfound.html
这样每次当某人请求无效的URL 时,都返回URL / index.html 提供的网站首页。
这里需要注意两点:
1、直接指向首页是否是合适的?或者让它指向到一个404页面会更好些?如果在404页面用javasctrip做一个跳转到首页,也是SEO允许的做法。
2、即使返回有效的文件,仍然会将404 状态码返回给客户端和搜索引擎。这表示搜索引擎机器人来确认网站上的链接时,仍然会得到正确的结果(404状态码)。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)