将 htaccess 转换为 nginx [英] convert htaccess to nginx
本文介绍了将 htaccess 转换为 nginx的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法将 htaccess 规则转换为 nginx 重写.我已经查看了 NginxRewriteModule 文档并完成了一些,但更复杂的那些我不知所措.这是我在看的:
I'm having no luck converting htaccess rules to nginx rewrite. I've checked out the NginxRewriteModule documentation and have a few done, but the more complicate ones I'm at a loss for. Here's what I'm looking at:
RewriteRule ^$ /cgi-bin/index.cgi [L]
RewriteRule ([0-9A-Za-z]{12})-del-([0-9A-Za-z]+)/.+$ /cgi-bin/index.cgi?del=$1-$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9A-Za-z]{12})(.html?|$)$ /cgi-bin/index.cgi?op=download1&id=$1 [L]
RewriteRule ^([0-9A-Za-z]{12})(/.+|.html?|$) /cgi-bin/index.cgi?op=download1&id=$1&fname=$2 [L]
RewriteRule ^([0-9A-Za-z-_]{4,64})/([0-9A-Za-z]{12})$ /cgi-bin/index.cgi?op=download1&usr_login=$1&id=$2 [L]
RewriteRule ^([0-9A-Za-z-_]{4,64})/([0-9A-Za-z]{12})(/.+|.html?|$) /cgi-bin/index.cgi?op=download1&usr_login=$1&id=$2&fname=$3 [L]
#RewriteRule ^Reseller.html$ /cgi-bin/Templates/Pages/english/Reseller.html [L]
RewriteRule ^checkfiles.html$ /cgi-bin/index.cgi?op=checkfiles [L]
RewriteRule ^contact.html$ /cgi-bin/index.cgi?op=contact [L]
RewriteRule ^premium.html$ /cgi-bin/index.cgi?op=payments [L]
RewriteRule ^login.html$ /cgi-bin/index.cgi?op=login [L]
RewriteRule ^catalogue(.*).html$ /cgi-bin/index.cgi?op=catalogue&date=$1 [L]
RewriteRule ^news([0-9]*).html$ /cgi-bin/index.cgi?op=news&page=$1 [L]
RewriteRule ^n([0-9]+)-.*.html$ /cgi-bin/index.cgi?op=news_details&news_id=$1 [L]
RewriteRule ^free([0-9]+).html$ /cgi-bin/index.cgi?op=registration&aff_id=$1 [L]
RewriteRule ^users/([0-9A-Za-z-_]{4,64})/?([0-9]+|$) /cgi-bin/index.cgi?op=user_public&usr_login=$1&fld_id=$2 [L,NC]
RewriteRule ^embedmp3-([0-9A-Za-z]{12}).html$ /cgi-bin/index.cgi?op=mp3_embed&file_code=$1 [L]
RewriteRule ^embedmp4-([0-9A-Za-z]{12}).html$ /cgi-bin/index.cgi?op=mp32_embed&file_code=$1 [L]
RewriteRule ^box$ /cgi-bin/index_box.cgi [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z-_]{4,64})(/[^/]*/?|$)$ /cgi-bin/index.cgi?op=user_public&usr_login=$1&fld=$2 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z0-9-\_]+).html(.*) /cgi-bin/index.cgi?op=page&tmpl=$1$2 [L]
推荐答案
将 Apache .htaccess 转换为 Nginx 重写工具的在线工具包括:
Online tools to translate Apache .htaccess to Nginx rewrite tools include:
请注意,这些工具将使用 if
语句转换为等效的重写表达式,但它们应该是转换为 try_files
.见:
Note that these tools will convert to equivalent rewrite expressions using if
statements, but they should be converted to try_files
. See:
这篇关于将 htaccess 转换为 nginx的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文