【问题标题】:.htaccess file convert to nginx.htaccess 文件转换为 nginx
【发布时间】:2020-07-06 19:03:09
【问题描述】:

我有以下 .htaccess 文件,需要转换为 nginx。我无法转换它。我不是 nginx 专家。

RewriteEngine On
   
Options +FollowSymLinks
Options -Indexes

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule . index.php [L,QSA]
# Performace optimization  
# BEGIN Compress text files
<ifModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
  AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
  AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
  AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
  AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
  AddOutputFilterByType DEFLATE font/truetype font/opentype
</ifModule>
# END Compress text files

# BEGIN Expire headers
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 5 seconds"
  ExpiresByType image/x-icon "access plus 31536000 seconds"
  ExpiresByType image/jpeg "access plus 31536000 seconds"
  ExpiresByType image/png "access plus 31536000 seconds"
  ExpiresByType image/gif "access plus 31536000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 31536000 seconds"
  ExpiresByType text/css "access plus 31536000 seconds"
  ExpiresByType text/javascript "access plus 31536000 seconds"
  ExpiresByType application/javascript "access plus 31536000 seconds"
  ExpiresByType application/x-javascript "access plus 31536000 seconds"
</ifModule>
# END Expire headers
# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
  <filesMatch ".(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch ".(css)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch ".(js)$">
    Header set Cache-Control "private"
  </filesMatch>
  <filesMatch ".(x?html?|php)$">
    Header set Cache-Control "private, must-revalidate"
  </filesMatch>

  <filesMatch ".(woff|woff2|ttf|otf|eot)$">
    Header set Cache-Control "max-age=31536000 private, must-revalidate"
  </filesMatch>
</ifModule>

我尝试了一些在线 .htaccess 转换器,但都不起作用,请有人告诉我如何解决这个问题?

【问题讨论】:

    标签: .htaccess nginx


    【解决方案1】:

    根据您的主机名、协议等调整server 块。

    map $sent_http_content_type $expires {
        image/x-icon                   31536000;
        image/jpeg                     31536000;
        image/png                      31536000;
        image/gif                      31536000;
        application/x-shockwave-flash  31536000;
        text/css                       31536000;
        text/javascript                31536000;
        application/javascript         31536000;
        application/x-javascript       31536000;
        default                        5;
    }
    
    map $request_filename $cache_control {
        ~\.(ico|jpe?g|png|gif|swf)$    "public";
        ~\.css$                        "public";
        ~\.js$                         "private";
        ~\.(x?html?|php)$              "private, must-revalidate";
        ~\.(woff|woff2|ttf|otf|eot)$   "max-age=31536000 private, must-revalidate";
    }
    
    server {
        listen 80;
        server_name example.com;
        root /your/root/path;
        index index.php index.html index.htm;
        gzip on;
        gzip_types text/html text/xml text/css text/plain
                   image/svg+xml application/xhtml+xml application/xml
                   application/rdf+xml application/rss+xml application/atom+xml
                   text/javascript application/javascript application/x-javascript application/json
                   application/x-font-ttf application/x-font-otf
                   font/truetype font/opentype;
        expires $expires;
        add_header Cache-Control $cache_control;
        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }
        location ~ \.php$ {
            # your PHP handler here
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 1970-01-01
      • 2018-07-10
      • 2017-08-02
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多