Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess文件转换为nginx_.htaccess_Nginx - Fatal编程技术网

.htaccess文件转换为nginx

.htaccess文件转换为nginx,.htaccess,nginx,.htaccess,Nginx,我有下面的.htaccess文件,需要转换为nginx。我在转换此文件时遇到问题。我不是nginx专家 RewriteEngine On Options +FollowSymLinks Options -Indexes RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule . index.php [L,QSA] # Performace optimization # B

我有下面的.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>
重新编写引擎打开
选项+FollowSymLinks
选项-索引
重写cond%{SCRIPT_FILENAME}-D
重写cond%{SCRIPT_FILENAME}-F
重写规则。index.php[L,QSA]
#性能优化
#开始压缩文本文件
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml应用程序/xhtml+xml应用程序/xml
AddOutputFilterByType DEFLATE应用程序/rdf+xml应用程序/rss+xml应用程序/atom+xml
AddOutputFilterByType DEFLATE text/javascript应用程序/javascript应用程序/x-javascript应用程序/json
AddOutputFilterByType放气应用程序/x-font-ttf应用程序/x-font-otf
AddOutputFilterByType泄气字体/truetype字体/opentype
#结束压缩文本文件
#开始过期标题
过期于
ExpiresDefault“访问加5秒”
ExpiresByType图像/x图标“访问时间加31536000秒”
ExpiresByType图像/jpeg“访问时间加31536000秒”
ExpiresByType图像/png“访问时间加31536000秒”
ExpiresByType image/gif“访问时间加31536000秒”
过期按类型应用程序/x-shockwave-flash“访问时间加31536000秒”
ExpiresByType文本/css“访问时间加31536000秒”
ExpiresByType文本/javascript“访问时间加31536000秒”
ExpiresByType应用程序/javascript“访问时间加31536000秒”
ExpiresByType应用程序/x-javascript“访问时间加31536000秒”
#结束过期标头
#开始缓存控制头
标头集缓存控制“公共”
标头集缓存控制“公共”
标头集缓存控制“专用”
标题集缓存控制“专用,必须重新验证”
标题集缓存控制“最大年龄=31536000专用,必须重新验证”

我在网上尝试了一些.htaccess转换器,但它不起作用。有人能告诉我如何解决这个问题吗?

根据主机名、协议等调整
服务器

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
    }
}