如何写.htaccess文件?
我的主机空间是万网的,想请教一下大家如何写.htaccess文件,在另一个空间商买的空间有这个文件,只需添加一个301重定向规则就可啦,谢谢大家!...
我的主机空间是万网的,想请教一下大家如何写.htaccess文件,在另一个空间商买的空间有这个文件,只需添加一个301重定向规则就可啦,谢谢大家!
展开
2013-12-13
展开全部
直接编辑 .htaccess。实质二者都是修改文件 .htaccess,只是前者手工编辑,后者是由 cPanel 完成。这里主要介绍的第二种方法。
注意:在设置 301 重定向之前务必备份相应目录下的.htaccess文件。
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改,否则子域名也会被重写,下面会专门对这个进行说明)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
2.重定向www.domain.com到domain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
3.重定向olddomain.com到www.newdomain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
4.重定向olddomain.com to newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]
5.重定向domain.com到www.domain.com,而且不影响子域名
之所以特别说明不影响子域名,是由于上面说的那个方法只有在没子域名的情况下才可行,如果域名含有子域名,而且子域名又不想被重定向,这时候就需要下面的方法来进行301重定向;
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.z132.com|t.z132.com)$ [NC]
RewriteRule ^(.*)$ http://www.z132.com/$1 [L,R=301]
上面的代码说明:第一行表示说开启mod-rewrite,第二行就表示要重定向的对象,代码的意思是出了www.z132.com和 t.z132.com这两个域名之外的所有域名,因为本博含有一个子域名的微薄t.z132.com,意思是当域名是t.z132.com的时候不进行重定向,第三行表示要重定向的目标。上面是一个例子,其实主要思想还是正则表达式,如果有多个子域名不想重定向,则同样的可以在第二行进行添加!
注意:在设置 301 重定向之前务必备份相应目录下的.htaccess文件。
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改,否则子域名也会被重写,下面会专门对这个进行说明)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
2.重定向www.domain.com到domain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
3.重定向olddomain.com到www.newdomain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
4.重定向olddomain.com to newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]
5.重定向domain.com到www.domain.com,而且不影响子域名
之所以特别说明不影响子域名,是由于上面说的那个方法只有在没子域名的情况下才可行,如果域名含有子域名,而且子域名又不想被重定向,这时候就需要下面的方法来进行301重定向;
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.z132.com|t.z132.com)$ [NC]
RewriteRule ^(.*)$ http://www.z132.com/$1 [L,R=301]
上面的代码说明:第一行表示说开启mod-rewrite,第二行就表示要重定向的对象,代码的意思是出了www.z132.com和 t.z132.com这两个域名之外的所有域名,因为本博含有一个子域名的微薄t.z132.com,意思是当域名是t.z132.com的时候不进行重定向,第三行表示要重定向的目标。上面是一个例子,其实主要思想还是正则表达式,如果有多个子域名不想重定向,则同样的可以在第二行进行添加!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询