今天所做的努力
都是在为明天积蓄力量

.htaccess 301跳转规则

301
RewriteCond %{REQUEST_URI} ^(.*)a/hulianwangbowen/2015/1023/55.html$ [NC]
RewriteRule ^(.*) http://www.baidu.com [R=301,L]
a/hulianwangbowen/2015/1023/55.html 跳转到www.baidu.com


apache(.htaccess)
   1.a域名跳转到c域名
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^a.com$ [NC]
      RewriteCond %{HTTP_HOST} ^b.com$ [NC] #(如果多个域名,就写多行即可)
      RewriteRule ^(.*)$ http://www.c.com/$1 [R=301,L]
    </IfModule>
   2.非a域名跳转到a域名
     <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{HTTP_HOST} !^www.a.com$ [NC]
      RewriteRule ^(.*)$ http://www.c.com/$1 [R=301,L]
     </IfModule>
   3.将index.html跳转到根域名,如果是目录把index.html换成目录名
     <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{REQUEST_URI} ^/index.html$ [NC]
      RewriteRule ^(.*) http://www.a.com [R=301,L]
     </IfModule>
   4.将a目录及下面的所有路径跳转到根域名/对应路径/ 如http://www.a.com/a/1.htmhttp://www.a.com/1.htm
     <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{REQUEST_URI} ^/a [NC]
      RewriteRule ^(.*) http://www.a.com/$1 [R=301,L]
     </IfModule>
   5.将a目录下所有路径跳转到对应目录下,如/a/index.html 跳转到/a/   b/index.html 跳转到/b/
      <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^(.*)index.html /$1 [NC,R=301,L]
      </IfModule>
在以上基础上若要过滤某个目录不被重写,在最后RewriteRule前一行添加:
RewriteCond %{REQUEST_URI} !^/bbs
表示过滤bbs目录不被重写
在以上基础上若要过滤某些文件不被重写,在最后RewriteRule前一行添加:
RewriteCond %{REQUEST_URI} !^.*(.css|.js|.gif|.png|.jpg|.jpeg|.xml)
表示过滤css,js,gif等文件不被重写


 SSL
apache:
    在站点根目录的.htaccess中添加
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$  https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
nginx:
    在原来http 80端口的站点配置文件中server_name下添加
    return      301  https://$server_name$request_uri;
赞(0)
未经允许不得转载:流觞 » .htaccess 301跳转规则
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址