magento程序做伪静态 + 301 + 屏蔽某些恶意蜘蛛

注意规则的存放先后顺序为 屏蔽蜘蛛->301重定向->伪静态


  • 首先在模块⇒AMRewrite中,创建新的.conf,例如取名magento_301_useragent.conf


  • 将以下规则存放入magento_301_useragent.conf,保存
    #这里屏蔽了以下十五种蜘蛛
    if ( $http_user_agent ~ AhrefsBot ){
    return 403;
    }
    if ( $http_user_agent ~ YandexBot ){
    return 403;
    }
    if ( $http_user_agent ~ MJ12bot ){
    return 403;
    }
    if ( $http_user_agent ~ RU_Bot ){
    return 403;
    }
    if ( $http_user_agent ~ Ezooms ){
    return 403;
    }
    if ( $http_user_agent ~ Yeti ){
    return 403;
    }
    if ( $http_user_agent ~ BLEXBot ){
    return 403;
    }
    if ( $http_user_agent ~ Exabot ){
    return 403;
    }
    if ( $http_user_agent ~ YisouSpider ){
    return 403;
    }
    if ( $http_user_agent ~ sandcrawlerbot ){
    return 403;
    }
    if ( $http_user_agent ~ ShopWiki ){
    return 403;
    }
    if ( $http_user_agent ~ Genieo ){
    return 403;
    }
    if ( $http_user_agent ~ Aboundex ){
    return 403;
    }
    if ( $http_user_agent ~ coccoc ){
    return 403;
    }
    
    #这301重定向规则
    if ($host  = 'zencart2.vnow.info' ) {
    rewrite ^/(.*)$ http://zencart.vnow.info/$1 permanent;
    }
    
    
    #这是magento伪静态规则
    location / {
    index index.html index.php; ## Allow a static html file to be shown first
    try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler
    expires 30d; ## Assume all files are cachable
    }
    
    ## These locations would be hidden by .htaccess normally
    location /app/ { deny all; }
    location /includes/ { deny all; }
    location /lib/ { deny all; }
    location /media/downloadable/ { deny all; }
    location /pkginfo/ { deny all; }
    location /report/config.xml { deny all; }
    location /var/ { deny all; }
    
    location /var/export/ { ## Allow admins only to view export folder
    auth_basic "Restricted"; ## Message shown in login window
    auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword
    autoindex on;
    }
    location /. { ## Disable .htaccess and other hidden files
    return 404;
    }
    
    location @handler { ## Magento uses a common front handler
    rewrite / /index.php;
    }
    
    location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
    rewrite ^(.*.php)/ $1 last;
    }
  • 对应虚拟主机站点,编辑,rewrite规则中选择 magento_301_useragent.conf,保存即可。
    如果你不需要301重定向,或不需要屏蔽上方的蜘蛛,将不需要的部分删除即可。