【问题标题】:Rewrite Rule from Apache to Nginx将规则从 Apache 重写为 Nginx
【发布时间】:2014-11-17 05:21:13
【问题描述】:

谁能帮我改写这个? 我有这些规则:

    RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|showyoubot|outbrain|pinterest [NC,OR]
    RewriteCond %{QUERY_STRING} _escaped_fragment_
    RewriteRule ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(.*) /api/prerender/$2 [P,L]

我需要将其重写为 nginx。

基本上,我们假设这个 URL

http://example.com/?_escaped_fragment_=/item/123

应该改写成

http://example.com/api/prerender/?_escaped_fragment_=/item/123

希望你能理解。

【问题讨论】:

    标签: apache .htaccess nginx rewrite


    【解决方案1】:

    试试:

    location / { 
      if ($http_user_agent ~* "baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|showyoubot|outbrain|pinterest") {   
        rewrite ^/(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(.*) /api/prerender/$2 break; 
      } 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-30
      • 2016-08-09
      • 1970-01-01
      • 2016-06-18
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多