网站如果使用的虚拟主机,301重定向一般可以在虚拟主机控制面板里设置。如果是使用的是服务器,服务器上的网站运行环境是自己搭建的,没有特定设置301重定向的地方,该怎么办?以Windows服务器搭建phpstudy运行环境为例,今天我和大家详细说下。
使用phpstudy设置网站301重定向教程很简单,只需要两步就可以:
一、修改httpd-conf文件
在 phpStudy 选项按钮中 – 配置文件中打开 -httpd-conf,搜索 #LoadModule rewrite_module modules/mod_rewrite.so,然后删除前面的#,参考下图
二、修改网站跟目录里的.htaccess文件
记事本打开网站根目录中的.htaccess文件,在任意位置加入以下代码:
1、出于SEO考虑,将idcsped.com重定向至www.idcsped.com,本站主站点就使用了这种重定向的方法避免页面权重分散。
一旦选择了带www的为主域名,今后就不要随意更改,用301将不带www的域名重定向主域名(带www)方法如下:
rewriteEngine on
rewriteCond %{http_host} ^idcsped.com [NC]
rewriteRule ^(.*)$ http://www.idcsped.com/$1 [R=301,L]
2、如果需要将域名从www.idcsped.com跳转到idcsped.com,则可以使用一下代码:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.idcsped.com$ [NC]
RewriteRule ^(.*)$ http://idcsped.com/$1 [L,R=301]
3、如果需要变更域名,即将老域名换成全新的域名,但是网页内容与结构不变,则可以使用以下代码来实现:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^其他域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.其他域名.com$
RewriteRule ^(.*)$ http://www.主域名.com/$1 [R=301,L]
如果是带WWW的域名间跳转,则以此类推,在域名前加上WWW即可。
一般来说,以上这些是网站建设过程中非常常用的几行代码。网址改变过,并且如果换了域名,还能保留以前域名的PR值。
4、用301将index.html、index.php等重定向到主域名:
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://www.idcsped.com/ [R=301,L]
最后保存,重启PHPStudy应用即可。